https://gcc.gnu.org/g:83bc41e8364360b63eaa59c88e2fb499a6751233
commit r15-14-g83bc41e8364360b63eaa59c88e2fb499a6751233 Author: Jiufu Guo <guoji...@linux.ibm.com> Date: Wed Mar 27 14:15:40 2024 +0800 s390: avoid peeking eof after __vector Same like PR101168, it is need for s390 to avoid peeking eof after vector keyword. And similar test case is also ok for s390. PR target/95782 gcc/ChangeLog: * config/s390/s390-c.cc (s390_macro_to_expand): Avoid empty identifier. gcc/testsuite/ChangeLog: * g++.target/s390/pr95782.C: New test. Diff: --- gcc/config/s390/s390-c.cc | 4 +++- gcc/testsuite/g++.target/s390/pr95782.C | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/config/s390/s390-c.cc b/gcc/config/s390/s390-c.cc index 1bb6e810766..4521a86f048 100644 --- a/gcc/config/s390/s390-c.cc +++ b/gcc/config/s390/s390-c.cc @@ -275,7 +275,9 @@ s390_macro_to_expand (cpp_reader *pfile, const cpp_token *tok) /* __vector long __bool a; */ if (ident == C_CPP_HASHNODE (__bool_keyword)) expand_bool_p = true; - else + + /* If there are more tokens to check. */ + else if (ident) { /* Triggered with: __vector long long __bool a; */ do diff --git a/gcc/testsuite/g++.target/s390/pr95782.C b/gcc/testsuite/g++.target/s390/pr95782.C new file mode 100644 index 00000000000..daf887fc6fe --- /dev/null +++ b/gcc/testsuite/g++.target/s390/pr95782.C @@ -0,0 +1,5 @@ +// { dg-do compile } +// { dg-options "-march=z14 -mzvector" } + +using vdbl = __vector double; +#define BREAK 1