CXXSTD=c++11
Bryan Drewery
bdrewery at FreeBSD.org
Thu Mar 24 22:51:24 UTC 2016
On 3/24/2016 3:45 PM, Bryan Drewery wrote:
> On 3/24/2016 3:44 PM, Dimitry Andric wrote:
>> On 24 Mar 2016, at 23:36, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>>>
>>> Is there any problem with forcing -std=c++11 for all CXX/LIB_CXX builds
>>> now? We do this when using an external GCC since it doesn't default to
>>> the c++11 standard quite yet. As far as I understand, we require c++11
>>> to build clang/libc++.
>>
>> Yes, but it already passes -std=c++11 in the correct places, as far as I
>> know. E.g. during the clang and libc++ builds.
>>
>>
>>> It seems to be the problem at
>>> https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-October/001757.html
>>> which I've fixed in an upcoming commit to properly pass -std=c++11 to
>>> the lib32 build in CXXFLAGS.
>>
>> Hm, is this occuring during the build of libcxxrt, or of libc++? If it
>> is the former, then it seems that the system headers don't properly
>> declare _Static_assert() in that case. I have no clue as to why, though
>> maybe it's picking something up from gcc's famously "fixed" standard
>> headers?
>>
>
> libcxxrt.
>
> My fix also includes passing the proper -isystem =/usr/include/c++/v1 path.
>
> I'll try without the -std change.
>
>
It fails without -std=c++11 (there's more discussion in that link and in
PR 205453).
> /usr/local/bin/powerpc64-portbld-freebsd11.0-g++ -m32 -DCOMPAT_32BIT -mcpu=powerpc --sysroot=/usr/obj/powerpc.powerpc64/root/git/freebsd/lib32 -L/usr/obj/powerpc.powerpc64/root/git/freebsd/lib32/usr/lib32 -B/usr/obj/powerpc.powerpc64/root/git/freebsd/lib32/usr/lib32 -isystem /usr/obj/powerpc.powerpc64/root/git/freebsd/lib32/usr/include -isystem /usr/obj/powerpc.powerpc64/root/git/freebsd/lib32/usr/include/c++/v1 -L/usr/obj/powerpc.powerpc64/root/git/freebsd/world32//root/git/freebsd/lib/libc++ -pg -O2 -pipe -I/root/git/freebsd/lib/libcxxrt/../../contrib/libcxxrt -MD -MF.depend.guard.po -MTguard.po -fstack-protector-strong -Wno-error=unused-function -Wno-error=enum-compare -Wno-error=logical-not-parentheses -Wno-error=bool-compare -Wno-error=uninitialized -Wno-error=array-bounds -Wno-error=clobbered -Wno-error=cast-align -Wno-error=extra -Wno-error=attributes -Wno-error=inline -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=strict-aliasing -Wno-error=addre
ss -c /root/git/freebsd/lib/libcxxrt/../../contrib/libcxxrt/guard.cc -o guard.po
> --- guard.o ---
> /root/git/freebsd/lib/libcxxrt/../../contrib/libcxxrt/guard.cc:104:15: error: expected constructor, destructor, or type conversion before '(' token
> _Static_assert(sizeof(guard_t) == sizeof(uint64_t), "");
> ^
> --- libelftc_dem_gnu3.So ---
> --- guard.o ---
> *** [guard.o] Error code 1
>
> make[4]: stopped in /root/git/freebsd/lib/libcxxrt
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20160324/c23b39fb/attachment.sig>
More information about the freebsd-toolchain
mailing list