HomeFreeBSD

Standardize `-std=c++* as `CXXSTD`

Description

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

Details

Provenance
ngieAuthored on
Reviewer
asomers
Differential Revision
D19732: Standardize -std=c++* as CXXSTD
Parents
rS345707: Revert r345706: the third time will be the charm
Branches
Unknown
Tags
Unknown