[Bug 216054] graphics/openshadinglanguage: fails to build with libc++ 4.0
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Jan 22 19:26:26 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216054
--- Comment #3 from Dimitry Andric <dim at FreeBSD.org> ---
(In reply to Jan Beich (mail not working) from comment #1)
> libc++ 4.0 is just broken with old compilers. One workaround would be to
> build against devel/libc++ which tracks old version.
>
> $ cat a.cc
> #include <string>
>
> int main() { return 0; }
>
> $ clang++34 a.cc
> In file included from a.cc:1:
> In file included from /usr/include/c++/v1/string:470:
> In file included from /usr/include/c++/v1/string_view:171:
> In file included from /usr/include/c++/v1/__string:56:
> In file included from /usr/include/c++/v1/algorithm:637:
> /usr/include/c++/v1/type_traits:2075:14: error: expected class name
> : public decltype((_VSTD::__is_assignable_test<_Tp, _Arg>(0))) {};
> ^
> /usr/include/c++/v1/__config:747:25: note: expanded from macro 'decltype'
> # define decltype(__x) __typeof__(__x)
> ^
> 1 error generated.
Hm, yes that is pretty unfortunate. Not that you can guarantee forwards
compatibility forever, of course, but in this case it falls over a C++11
construct, while in C++98 (or GNU++98) mode.
It looks like before libc++ r276599, there was a fallback mode for
_LIBCPP_HAS_NO_RVALUE_REFERENCES, but that disappeared. Eric, how tricky would
it be to put that back?
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list