From: Andreas Krebbel Date: Tue, 18 May 2021 06:51:08 +0000 (+0200) Subject: IBM Z: Support vector _Bool language extension X-Git-Tag: basepoints/gcc-13~7455 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e75d62442fc3707c96c53d22f6c185fdf893c72;p=thirdparty%2Fgcc.git IBM Z: Support vector _Bool language extension _Bool needs to be defined as macro in order to trigger the context-sensitive macro expansion mechanism. gcc/ChangeLog: * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define _Bool as macro expanding to _Bool. gcc/testsuite/ChangeLog: * gcc.target/s390/zvector/vec-_Bool.c: New test. --- diff --git a/gcc/config/s390/s390-c.c b/gcc/config/s390/s390-c.c index 7dbd8bf5da38..4cce2619ce41 100644 --- a/gcc/config/s390/s390-c.c +++ b/gcc/config/s390/s390-c.c @@ -367,6 +367,8 @@ s390_cpu_cpp_builtins_internal (cpp_reader *pfile, old_opts, opts, "vector=vector", "vector"); s390_def_or_undef_macro (pfile, target_flag_set_p (MASK_ZVECTOR), old_opts, opts, "bool=bool", "bool"); + s390_def_or_undef_macro (pfile, target_flag_set_p (MASK_ZVECTOR), + old_opts, opts, "_Bool=_Bool", "_Bool"); if (TARGET_ZVECTOR_P (opts->x_target_flags) && __vector_keyword == NULL) { __vector_keyword = get_identifier ("__vector"); diff --git a/gcc/testsuite/gcc.target/s390/zvector/vec-_Bool.c b/gcc/testsuite/gcc.target/s390/zvector/vec-_Bool.c new file mode 100644 index 000000000000..525b950253c5 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/zvector/vec-_Bool.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-options "-march=z13 -mzvector" } */ + +vector _Bool char bc; +vector _Bool short int bs; +vector _Bool int bi; +vector _Bool long long bll;