Created attachment 197650 [details] patch USES=compiler:c++11-lang is necessary to fix build on architectures that use GCC in base. Tested on powerpc64 and amd64. Hardware sponsored by IntegriCloud.
As I posted in bug#231834 please find alternative or atleast make it where it doesn't break mips-based archs. Like previous way I did to only target certain archs that need it and not all archs
A commit references this bug: Author: jbeich Date: Mon Oct 1 00:13:17 UTC 2018 New revision: 480987 URL: https://svnweb.freebsd.org/changeset/ports/480987 Log: devel/googletest: unbreak on GCC architectures after r478607 In file included from ./include/gtest/gtest.h:59, from src/gtest_main.cc:31: ./include/gtest/internal/gtest-internal.h:657: error: expected ',' or '...' before '>' token ./include/gtest/internal/gtest-internal.h:657: error: parse error in template argument list ./include/gtest/internal/gtest-internal.h:657: error: default argument missing for parameter 7 of 'static bool testing::internal::TypeParameterizedTest<Fixture, TestSel, Types>::Register(const char*, const testing::internal::CodeLocation&, const char*, const char*, int, const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, Types)' In file included from src/gtest_main.cc:31: In file included from ./include/gtest/gtest.h:59: ./include/gtest/internal/gtest-internal.h:947:44: error: no member named 'declval' in namespace 'std' class Iterator = decltype(::std::declval<const C&>().begin()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:947:52: error: expected expression class Iterator = decltype(::std::declval<const C&>().begin()), ^ ./include/gtest/internal/gtest-internal.h:948:35: error: no member named 'declval' in namespace 'std' class = decltype(::std::declval<const C&>().end()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:948:43: error: expected expression class = decltype(::std::declval<const C&>().end()), ^ ./include/gtest/internal/gtest-internal.h:949:37: error: no member named 'declval' in namespace 'std' class = decltype(++::std::declval<Iterator&>()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:949:45: error: 'Iterator' does not refer to a value class = decltype(++::std::declval<Iterator&>()), ^ ./include/gtest/internal/gtest-internal.h:947:17: note: declared here class Iterator = decltype(::std::declval<const C&>().begin()), ^ ./include/gtest/internal/gtest-internal.h:949:54: error: expected expression class = decltype(++::std::declval<Iterator&>()), ^ ./include/gtest/internal/gtest-internal.h:949:56: error: expected expression class = decltype(++::std::declval<Iterator&>()), ^ ./include/gtest/internal/gtest-internal.h:950:36: error: no member named 'declval' in namespace 'std' class = decltype(*::std::declval<Iterator>()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:950:44: error: 'Iterator' does not refer to a value class = decltype(*::std::declval<Iterator>()), ^ ./include/gtest/internal/gtest-internal.h:947:17: note: declared here class Iterator = decltype(::std::declval<const C&>().begin()), ^ ./include/gtest/internal/gtest-internal.h:950:54: error: expected expression class = decltype(*::std::declval<Iterator>()), ^ PR: 231835 Submitted by: Piotr Kubaj (based on) Changes: head/devel/googletest/Makefile
A commit references this bug: Author: jbeich Date: Mon Oct 1 00:17:59 UTC 2018 New revision: 480988 URL: https://svnweb.freebsd.org/changeset/ports/480988 Log: MFH: r480987 devel/googletest: unbreak on GCC architectures after r478607 In file included from ./include/gtest/gtest.h:59, from src/gtest_main.cc:31: ./include/gtest/internal/gtest-internal.h:657: error: expected ',' or '...' before '>' token ./include/gtest/internal/gtest-internal.h:657: error: parse error in template argument list ./include/gtest/internal/gtest-internal.h:657: error: default argument missing for parameter 7 of 'static bool testing::internal::TypeParameterizedTest<Fixture, TestSel, Types>::Register(const char*, const testing::internal::CodeLocation&, const char*, const char*, int, const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, Types)' In file included from src/gtest_main.cc:31: In file included from ./include/gtest/gtest.h:59: ./include/gtest/internal/gtest-internal.h:947:44: error: no member named 'declval' in namespace 'std' class Iterator = decltype(::std::declval<const C&>().begin()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:947:52: error: expected expression class Iterator = decltype(::std::declval<const C&>().begin()), ^ ./include/gtest/internal/gtest-internal.h:948:35: error: no member named 'declval' in namespace 'std' class = decltype(::std::declval<const C&>().end()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:948:43: error: expected expression class = decltype(::std::declval<const C&>().end()), ^ ./include/gtest/internal/gtest-internal.h:949:37: error: no member named 'declval' in namespace 'std' class = decltype(++::std::declval<Iterator&>()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:949:45: error: 'Iterator' does not refer to a value class = decltype(++::std::declval<Iterator&>()), ^ ./include/gtest/internal/gtest-internal.h:947:17: note: declared here class Iterator = decltype(::std::declval<const C&>().begin()), ^ ./include/gtest/internal/gtest-internal.h:949:54: error: expected expression class = decltype(++::std::declval<Iterator&>()), ^ ./include/gtest/internal/gtest-internal.h:949:56: error: expected expression class = decltype(++::std::declval<Iterator&>()), ^ ./include/gtest/internal/gtest-internal.h:950:36: error: no member named 'declval' in namespace 'std' class = decltype(*::std::declval<Iterator>()), ~~~~~~~^ ./include/gtest/internal/gtest-internal.h:950:44: error: 'Iterator' does not refer to a value class = decltype(*::std::declval<Iterator>()), ^ ./include/gtest/internal/gtest-internal.h:947:17: note: declared here class Iterator = decltype(::std::declval<const C&>().begin()), ^ ./include/gtest/internal/gtest-internal.h:950:54: error: expected expression class = decltype(*::std::declval<Iterator>()), ^ PR: 231835 Submitted by: Piotr Kubaj (based on) Approved by: ports-secteam blanket Changes: _U branches/2018Q3/ branches/2018Q3/devel/googletest/Makefile
Please, don't forget error logs. If I can't reproduce it may delay review in future. (In reply to Nathan from comment #1) > make it where it doesn't break mips-based archs mips64 should stop delaying Clang switch[1] or bring lang/gcc* support. [1] https://lists.freebsd.org/pipermail/freebsd-arch/2017-October/018394.html
A commit references this bug: Author: jbeich Date: Mon Oct 1 00:31:09 UTC 2018 New revision: 480989 URL: https://svnweb.freebsd.org/changeset/ports/480989 Log: devel/googletest: oops, builds fine with clang++ -stdlib=libstdc++ -std=gnu++03 FreeBSD 9.x defaulted to GCC 4.2 but could use Clang, so c++11-lang used Clang while c++11-lib use lang/gcc* bun nowadays the difference no longer exists. While testing previous change I forgot to account that newer Clang versions have switched to C++14 by default while libstdc++ 4.2 doesn't support C++11 or newer. PR: 231835 Changes: head/devel/googletest/Makefile
A commit references this bug: Author: jbeich Date: Mon Oct 1 00:31:44 UTC 2018 New revision: 480990 URL: https://svnweb.freebsd.org/changeset/ports/480990 Log: MFH: r480989 devel/googletest: oops, builds fine with clang++ -stdlib=libstdc++ -std=gnu++03 FreeBSD 9.x defaulted to GCC 4.2 but could use Clang, so c++11-lang used Clang while c++11-lib use lang/gcc* bun nowadays the difference no longer exists. While testing previous change I forgot to account that newer Clang versions have switched to C++14 by default while libstdc++ 4.2 doesn't support C++11 or newer. PR: 231835 Approved by: ports-secteam blanket Changes: _U branches/2018Q3/ branches/2018Q3/devel/googletest/Makefile
A commit references this bug: Author: jbeich Date: Mon Oct 1 00:36:38 UTC 2018 New revision: 480991 URL: https://svnweb.freebsd.org/changeset/ports/480991 Log: devel/googlemock: unbreak on GCC architectures In file included from /usr/local/include/gtest/gtest.h:59, from ./include/gmock/internal/gmock-internal-utils.h:47, from ./include/gmock/gmock-actions.h:47, from ./include/gmock/gmock.h:59, from src/gmock_main.cc:32: /usr/local/include/gtest/internal/gtest-internal.h:657: error: expected ',' or '...' before '>' token /usr/local/include/gtest/internal/gtest-internal.h:657: error: parse error in template argument list /usr/local/include/gtest/internal/gtest-internal.h:657: error: default argument missing for parameter 7 of 'static bool testing::internal::TypeParameterizedTest<Fixture, TestSel, Types>::Register(const char*, const testing::internal::CodeLocation&, const char*, const char*, int, const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, Types)' PR: 231835 Changes: head/devel/googlemock/Makefile
A commit references this bug: Author: jbeich Date: Mon Oct 1 00:37:29 UTC 2018 New revision: 480992 URL: https://svnweb.freebsd.org/changeset/ports/480992 Log: MFH: r480991 devel/googlemock: unbreak on GCC architectures In file included from /usr/local/include/gtest/gtest.h:59, from ./include/gmock/internal/gmock-internal-utils.h:47, from ./include/gmock/gmock-actions.h:47, from ./include/gmock/gmock.h:59, from src/gmock_main.cc:32: /usr/local/include/gtest/internal/gtest-internal.h:657: error: expected ',' or '...' before '>' token /usr/local/include/gtest/internal/gtest-internal.h:657: error: parse error in template argument list /usr/local/include/gtest/internal/gtest-internal.h:657: error: default argument missing for parameter 7 of 'static bool testing::internal::TypeParameterizedTest<Fixture, TestSel, Types>::Register(const char*, const testing::internal::CodeLocation&, const char*, const char*, int, const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, Types)' PR: 231835 Approved by: ports-secteam blanket Changes: _U branches/2018Q3/ branches/2018Q3/devel/googlemock/Makefile
A commit references this bug: Author: jbeich Date: Mon Oct 1 01:59:35 UTC 2018 New revision: 480995 URL: https://svnweb.freebsd.org/changeset/ports/480995 Log: devel/google{test,mock}: back out r480988, r480990, r480991 The ports still build fine with GCC 4.2 as 2018Q3 lacks r478607. PR: 231835 Approved by: ports-secteam blanket Changes: _U branches/2018Q3/ branches/2018Q3/devel/googlemock/Makefile branches/2018Q3/devel/googletest/Makefile