https://gcc.gnu.org/g:214b5d66c54613463a96aa2c7202bc32f628dad6
commit r16-1261-g214b5d66c54613463a96aa2c7202bc32f628dad6 Author: Tobias Burnus <tbur...@baylibre.com> Date: Fri Jun 6 15:57:50 2025 +0200 builtins.def: Enable OpenMP/OpenACC builtins also with -fno-nonansi-builtins The flags -std=c.. and -std=c++.. imply -fno-nonansi-builtins, which disabled the OpenMP/OpenACC intrinsics - but -fopenmp/-fopenacc builtin use should be rather othogonal to the user's choice between -std=c... and -std=gnuc... gcc/ChangeLog: * builtins.def (DEF_GOACC_BUILTIN_COMPILER, DEF_GOMP_BUILTIN_COMPILER): Set NONANSI_P = false to enable those also with -fno-nonansi-builtins. Diff: --- gcc/builtins.def | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/builtins.def b/gcc/builtins.def index fdcad54a5d75..59a43a10058a 100644 --- a/gcc/builtins.def +++ b/gcc/builtins.def @@ -217,6 +217,8 @@ along with GCC; see the file COPYING3. If not see DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ false, true, true, ATTRS, false, \ flag_openacc) +/* Set NONANSI_P = false to enable the builtins also with -fno-nonansi-builtins, + esp. as -std=c++../c.. imply that flag and -fopenacc should be othogonal. */ #undef DEF_GOACC_BUILTIN_COMPILER #define DEF_GOACC_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \ DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ @@ -232,10 +234,12 @@ along with GCC; see the file COPYING3. If not see (flag_openacc \ || flag_openmp \ || flag_tree_parallelize_loops > 1)) +/* Set NONANSI_P = false to enable the builtins also with -fno-nonansi-builtins, + esp. as -std=c++../c.. imply that flag and -fopenmp should be othogonal. */ #undef DEF_GOMP_BUILTIN_COMPILER #define DEF_GOMP_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \ DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - flag_openmp, true, true, ATTRS, false, flag_openmp) + flag_openmp, true, false, ATTRS, false, flag_openmp) /* Builtin used by the implementation of GNU TM. These functions are mapped to the actual implementation of the STM library. */