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. */

Reply via email to