Hi, When compiling GCC (with JIT enabled) by clang, it produces a series of warning s like this for all uses of DEF_GOACC_BUILTIN_COMPILER and DEF_GOMP_BUILTIN_COMPILER in omp-builtins.def:
---------------------------------------------------------------------- In file included from /home/worker/buildworker/tiber-gcc-clang/build/gcc/jit/jit-builtins.cc:61: In file included from /home/worker/buildworker/tiber-gcc-clang/build/gcc/builtins.def:1276: /home/worker/buildworker/tiber-gcc-clang/build/gcc/omp-builtins.def:55:1: warning: non-constant-expression cannot be narrowed from type 'int' to 'bool' in initializer list [-Wc++11-narrowing] 55 | DEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56 | BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/worker/buildworker/tiber-gcc-clang/build/gcc/builtins.def:225:9: note: expanded from macro 'DEF_GOACC_BUILTIN_COMPILER' 225 | flag_openacc, true, true, ATTRS, false, true) | ^~~~~~~~~~~~ ./options.h:7049:22: note: expanded from macro 'flag_openacc' 7049 | #define flag_openacc global_options.x_flag_openacc | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/worker/buildworker/tiber-gcc-clang/build/gcc/jit/jit-builtins.cc:58:23: note: expanded from macro 'DEF_BUILTIN' 58 | {NAME, CLASS, TYPE, BOTH_P, FALLBACK_P, ATTRS, IMPLICIT}, | ^~~~~~ /home/worker/buildworker/tiber-gcc-clang/build/gcc/omp-builtins.def:55:1: note: insert an explicit cast to silence this issue ---------------------------------------------------------------------- I'm not sure to what extent this is an actual problem or not, but flag_openacc is an int and we do store it in a bool, so I this patch does add the explicit cast clang asks for. Bootstrapped and tested on x86_64-linx. OK for master? Alternatively, as with all of these clang warning issues, I'm perfectly happy to add an entry to contrib/filter-clang-warnings.py to ignore the warnings instead. Thanks, Martin gcc/jit/ChangeLog: 2025-06-23 Martin Jambor <mjam...@suse.cz> * jit-builtins.cc (DEF_BUILTIN): Add explicit cast to bool of BOTH_P. --- gcc/jit/jit-builtins.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/jit/jit-builtins.cc b/gcc/jit/jit-builtins.cc index 84e0bd5347f..ddbba55d3f3 100644 --- a/gcc/jit/jit-builtins.cc +++ b/gcc/jit/jit-builtins.cc @@ -55,7 +55,7 @@ struct builtin_data #define DEF_BUILTIN(X, NAME, CLASS, TYPE, LT, BOTH_P, FALLBACK_P, \ NONANSI_P, ATTRS, IMPLICIT, COND) \ - {NAME, CLASS, TYPE, BOTH_P, FALLBACK_P, ATTRS, IMPLICIT}, + {NAME, CLASS, TYPE, (bool) BOTH_P, FALLBACK_P, ATTRS, IMPLICIT}, static const struct builtin_data builtin_data[] = { #include "builtins.def" -- 2.49.0