]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Standardize `-std=c++* as `CXXSTD`
authorngie <ngie@FreeBSD.org>
Fri, 29 Mar 2019 18:45:27 +0000 (18:45 +0000)
committerngie <ngie@FreeBSD.org>
Fri, 29 Mar 2019 18:45:27 +0000 (18:45 +0000)
commit777d26ce523b9dcb049eb991ceb2c7d6363ac8a8
tree6877785f0579f6ffbad0ceacb9815755d0d152a4
parentc702cbc7f9503958f2f797dc5e7c3f0ab6aadb20
Standardize `-std=c++* as `CXXSTD`

CXXSTD was added as the C++ analogue to CSTD.

CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`,
otherwise for older versions of g++.

This change standardizes the CXXSTD variable, originally added to
googletest.test.inc.mk as part of r345203.

As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`.

Notes:

This value is not sanity checked in bsd.sys.mk, however, given the two
most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is
likely to work with both toolchains. This method will be refined in the future
to support more variants of C++, as not all versions of clang++ and g++ (for
instance) support C++14, C++17, etc.

Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD.
Example:

Before this commit:
```
CXXFLAGS+= -std=c++14
```

After this commit:
```
CXXSTD= c++14
```

Reviewed by: asomers
Approved by: emaste (mentor)
MFC after: 1 month
MFC with: r345203, r345704, r345705
Relnotes: yes
Tested with: make tinderbox
Differential Revision: https://reviews.freebsd.org/D19732
13 files changed:
lib/clang/llvm.build.mk
lib/libc++/Makefile
lib/libc++experimental/Makefile
lib/libc++fs/Makefile
lib/libclang_rt/Makefile.inc
lib/libcxxrt/Makefile
lib/libgcc_eh/Makefile.inc
lib/libomp/Makefile
lib/ofed/libibnetdisc/Makefile
share/mk/bsd.sys.mk
share/mk/googletest.test.inc.mk
usr.bin/dtc/Makefile
usr.sbin/pmc/Makefile