]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Standardize `-std=c++* as `CXXSTD`
authorngie <ngie@FreeBSD.org>
Fri, 29 Mar 2019 18:31:48 +0000 (18:31 +0000)
committerngie <ngie@FreeBSD.org>
Fri, 29 Mar 2019 18:31:48 +0000 (18:31 +0000)
commit04346017b40eab1ee5edf4cbee70d2b22c33b164
tree22e8924bf0eae4d597df29297ed7d3533c32f5a9
parentfeb0a2664c7162b52da62487a27789959a271bf8
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
15 files changed:
lib/clang/llvm.build.mk
lib/libc++/Makefile
lib/libc++experimental/Makefile
lib/libc++fs/Makefile
lib/libc/tests/stdlib/Makefile
lib/libclang_rt/Makefile.inc
lib/libcxxrt/Makefile
lib/libgcc_eh/Makefile.inc
lib/libomp/Makefile
lib/ofed/libibnetdisc/Makefile
share/mk/bsd.progs.mk
share/mk/bsd.sys.mk
share/mk/googletest.test.inc.mk
usr.bin/dtc/Makefile
usr.sbin/pmc/Makefile