| #
6527682a
|
| 11-Apr-2025 |
John Baldwin <jhb@FreeBSD.org> |
src: Use gnu++17 as the default C++ standard
Previously the compiler's default C++ standard was used unlike C where bsd.sys.mk explicitly sets a default language version. Setting an explicit defaul
src: Use gnu++17 as the default C++ standard
Previously the compiler's default C++ standard was used unlike C where bsd.sys.mk explicitly sets a default language version. Setting an explicit default version will give a more uniform experience across different compilers and compiler versions.
gnu++17 was chosen to match the default C standard. It is well supported by a wide range of clang (5+) and GCC (9+) versions.
gnu++17 is also the default C++ standard in recent versions of clang (16+) and GCC (11+). As a result, many of the explicit CXXSTD settings in Makefiles had the effect of lowering the C++ standard instead of raising it as was originally intended and are removed.
Note that the remaining explicit CXXSTD settings for atf and liblutok explicitly lower the standard to C++11 due to use of the deprecated auto_ptr<> template which is removed in later versions.
Reviewed by: imp, asomers, dim, emaste Differential Revision: https://reviews.freebsd.org/D49223
show more ...
|
| #
f147cf0e
|
| 29-Sep-2023 |
Jose Luis Duran <jlduran@gmail.com> |
dtc: Ensure it is built in C++17 mode
Explicitly specify the C++ standard to be used in the Makefile. This prevents macOS cross-builds from using the default gnu++98 and fail. This syncs dtc with u
dtc: Ensure it is built in C++17 mode
Explicitly specify the C++ standard to be used in the Makefile. This prevents macOS cross-builds from using the default gnu++98 and fail. This syncs dtc with upstream commit 39a58cfaab7d55c7975ebf905d859ba91a369fa0.
Reviewed by: emaste Fixes: 29a55fd09b0a ("dtc: Sync with upstream commit 26a0fe5") Differential Revision: https://reviews.freebsd.org/D42006
show more ...
|
| #
29a55fd0
|
| 26-Sep-2023 |
Jose Luis Duran <jlduran@gmail.com> |
dtc: Sync with upstream commit 26a0fe5
- 0206c0f ("Handle top-level /delete-node/ directives.") - d612a9e ("Remove C++11 standard constrain") - Remove extra white lines after the $FreeBSD$ tag remov
dtc: Sync with upstream commit 26a0fe5
- 0206c0f ("Handle top-level /delete-node/ directives.") - d612a9e ("Remove C++11 standard constrain") - Remove extra white lines after the $FreeBSD$ tag removal
Reviewed by: kevans (earlier), theraven, emaste Differential Revision: https://reviews.freebsd.org/D41482
show more ...
|
| #
d0b2dbfa
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
7648bc9f
|
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
| #
1109b774
|
| 22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708
This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior.
This also unbreaks building lib/ofed/libibnetdisc/M
Rework CXXSTD setting via r345708
This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior.
This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards.
MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change)
show more ...
|
| #
9a696dc6
|
| 04-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345880
|
| #
e8067928
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
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++.
Thi
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
show more ...
|
| #
bdbf3440
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm
When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and rep
Revert r345706: the third time will be the charm
When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738.
For my own personal sanity, I will try not to mix reviews like this in the future.
MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit)
show more ...
|
| #
760b1a81
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
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++.
Thi
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
show more ...
|
| #
752cabaa
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704
I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704.
Approved by: emaste (mentor, implicit) MFC afte
Revert r345704
I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704.
Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704
show more ...
|
| #
9a41926b
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is 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, ori
CXXSTD is 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 Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732
show more ...
|
| #
6527682a
|
| 11-Apr-2025 |
John Baldwin <jhb@FreeBSD.org> |
src: Use gnu++17 as the default C++ standard
Previously the compiler's default C++ standard was used unlike C where bsd.sys.mk explicitly sets a default language version. Setting an explicit defaul
src: Use gnu++17 as the default C++ standard
Previously the compiler's default C++ standard was used unlike C where bsd.sys.mk explicitly sets a default language version. Setting an explicit default version will give a more uniform experience across different compilers and compiler versions.
gnu++17 was chosen to match the default C standard. It is well supported by a wide range of clang (5+) and GCC (9+) versions.
gnu++17 is also the default C++ standard in recent versions of clang (16+) and GCC (11+). As a result, many of the explicit CXXSTD settings in Makefiles had the effect of lowering the C++ standard instead of raising it as was originally intended and are removed.
Note that the remaining explicit CXXSTD settings for atf and liblutok explicitly lower the standard to C++11 due to use of the deprecated auto_ptr<> template which is removed in later versions.
Reviewed by: imp, asomers, dim, emaste Differential Revision: https://reviews.freebsd.org/D49223
show more ...
|
| #
f147cf0e
|
| 29-Sep-2023 |
Jose Luis Duran <jlduran@gmail.com> |
dtc: Ensure it is built in C++17 mode
Explicitly specify the C++ standard to be used in the Makefile. This prevents macOS cross-builds from using the default gnu++98 and fail. This syncs dtc with u
dtc: Ensure it is built in C++17 mode
Explicitly specify the C++ standard to be used in the Makefile. This prevents macOS cross-builds from using the default gnu++98 and fail. This syncs dtc with upstream commit 39a58cfaab7d55c7975ebf905d859ba91a369fa0.
Reviewed by: emaste Fixes: 29a55fd09b0a ("dtc: Sync with upstream commit 26a0fe5") Differential Revision: https://reviews.freebsd.org/D42006
show more ...
|
| #
29a55fd0
|
| 26-Sep-2023 |
Jose Luis Duran <jlduran@gmail.com> |
dtc: Sync with upstream commit 26a0fe5
- 0206c0f ("Handle top-level /delete-node/ directives.") - d612a9e ("Remove C++11 standard constrain") - Remove extra white lines after the $FreeBSD$ tag remov
dtc: Sync with upstream commit 26a0fe5
- 0206c0f ("Handle top-level /delete-node/ directives.") - d612a9e ("Remove C++11 standard constrain") - Remove extra white lines after the $FreeBSD$ tag removal
Reviewed by: kevans (earlier), theraven, emaste Differential Revision: https://reviews.freebsd.org/D41482
show more ...
|
| #
d0b2dbfa
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
7648bc9f
|
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
| #
1109b774
|
| 22-Apr-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Rework CXXSTD setting via r345708
This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior.
This also unbreaks building lib/ofed/libibnetdisc/M
Rework CXXSTD setting via r345708
This change allows the user to once again override the C++ standard, restoring high-level pre-r345708 behavior.
This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11 capable compiler, e.g., g++ 4.2.1, as the library supported being built with older C++ standards.
MFC after: 2 weeks MFC with: r345708 Reviewed by: emaste Reported by: jbeich Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change)
show more ...
|
| #
9a696dc6
|
| 04-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345880
|
| #
e8067928
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
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++.
Thi
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
show more ...
|
| #
bdbf3440
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345706: the third time will be the charm
When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and rep
Revert r345706: the third time will be the charm
When a review is closed via Phabricator it updates the patch attached to the review. I downloaded the raw patch from Phabricator, applied it, and repeated my mistake from r345704 by accident mixing content from D19732 and D19738.
For my own personal sanity, I will try not to mix reviews like this in the future.
MFC after: 1 month MFC with: r345706 Approved by: emaste (mentor, implicit)
show more ...
|
| #
760b1a81
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
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++.
Thi
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
show more ...
|
| #
752cabaa
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r345704
I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704.
Approved by: emaste (mentor, implicit) MFC afte
Revert r345704
I accidentally committed code from two reviews. I will reintroduce the code to bsd.progs.mk as part of a separate commit from r345704.
Approved by: emaste (mentor, implicit) MFC after: 2 months MFC with: r345704
show more ...
|
| #
9a41926b
|
| 29-Mar-2019 |
Enji Cooper <ngie@FreeBSD.org> |
CXXSTD is 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, ori
CXXSTD is 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 Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732
show more ...
|
| #
839bbb1c
|
| 31-Jan-2018 |
Kyle Evans <kevans@FreeBSD.org> |
dtc(1): Revert WARNS change from r328173
WARNS > 3 breaks xtoolchain builds to varying degrees. Revert it.
Reported by: lwhsu, jhb MFC after: 3 days
|