diff options
author | rakuco <rakuco@FreeBSD.org> | 2018-05-18 18:19:00 +0800 |
---|---|---|
committer | rakuco <rakuco@FreeBSD.org> | 2018-05-18 18:19:00 +0800 |
commit | 1b87d546d87d7408ef0f167aa2cdc17a8aad90bf (patch) | |
tree | 8dd47a74c71676b6a9e895ab9d386e61dd7176e1 /print | |
parent | c420c84a613a8f5af4ea221ffb5c12f1fbd0f3cf (diff) | |
download | freebsd-ports-gnome-1b87d546d87d7408ef0f167aa2cdc17a8aad90bf.tar.gz freebsd-ports-gnome-1b87d546d87d7408ef0f167aa2cdc17a8aad90bf.tar.zst freebsd-ports-gnome-1b87d546d87d7408ef0f167aa2cdc17a8aad90bf.zip |
Add a patch to fix the build on FreeBSD 10.4.
pkg-fallout reports the following error:
TexRow.cpp:271:6: error: return type 'const TexRow::TextEntry' must match previous return type 'TexRow::TextEntry' when lambda expression has unspecified explicit return type
return text_none;
^
TexRow.cpp:273:3: error: return type 'const TexRow::TextEntry' must match previous return type 'TexRow::TextEntry' when lambda expression has unspecified explicit return type
return text_none;
^
TexRow.cpp:288:6: error: return type 'lyx::TexRow::TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type
return last_pos;
^
TexRow.cpp:290:6: error: return type 'struct TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type
return entry.text;
^
TexRow.cpp:293:3: error: return type 'lyx::TexRow::TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type
return last_pos;
^
Make the lambda return type explicit to work around what looks like a bug on an
old clang version.
Not bumping PORTREVISION, as this shouldn't change the code in FreeBSD versions
with a more recent clang.
Diffstat (limited to 'print')
-rw-r--r-- | print/lyx/files/patch-src_TexRow.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/print/lyx/files/patch-src_TexRow.cpp b/print/lyx/files/patch-src_TexRow.cpp new file mode 100644 index 000000000000..74669e97c592 --- /dev/null +++ b/print/lyx/files/patch-src_TexRow.cpp @@ -0,0 +1,39 @@ +Fixes the build on 10.4 with clang 3.4.1. + + TexRow.cpp:271:6: error: return type 'const TexRow::TextEntry' must match previous return type 'TexRow::TextEntry' when lambda expression has unspecified explicit return type + return text_none; + ^ + TexRow.cpp:273:3: error: return type 'const TexRow::TextEntry' must match previous return type 'TexRow::TextEntry' when lambda expression has unspecified explicit return type + return text_none; + ^ + TexRow.cpp:288:6: error: return type 'lyx::TexRow::TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type + return last_pos; + ^ + TexRow.cpp:290:6: error: return type 'struct TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type + return entry.text; + ^ + TexRow.cpp:293:3: error: return type 'lyx::TexRow::TextEntry' must match previous return type 'const TexRow::TextEntry' when lambda expression has unspecified explicit return type + return last_pos; + ^ + +Not upstreamable, this seems to be a workaround for a compiler bug. +--- src/TexRow.cpp.orig 2018-02-25 00:11:18 UTC ++++ src/TexRow.cpp +@@ -260,7 +260,7 @@ TexRow::getEntriesFromRow(int const row) const + return {text_none, text_none}; + + // find the start entry +- TextEntry const start = [&]() { ++ TextEntry const start = [&]() -> TextEntry const { + for (size_t j = i; j > 0; --j) { + if (!isNone(rowlist_[j].getTextEntry())) + return rowlist_[j].getTextEntry(); +@@ -274,7 +274,7 @@ TexRow::getEntriesFromRow(int const row) const + } (); + + // find the end entry +- TextEntry end = [&]() { ++ TextEntry end = [&]() -> TextEntry const { + if (isNone(start)) + return text_none; + // select up to the last position of the starting paragraph as a |