From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2066) id 36D0A3858D33; Sun, 28 Apr 2024 03:39:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 36D0A3858D33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1714275552; bh=vOQF3JmMtk51Yw5mSV2VsR+G8izHToH6JrdCrWVE+Es=; h=From:To:Subject:Date:From; b=jBFM2PRm396jLLFK90iETnw4ucDMxQC8nxK6LqZPX6k7DAgFAdGHTqVANpicwaRoP FeaSeovTueFI+wVO+71iVd2CG5tFZ9pcJOyKQSoF8blDkdPMC5m1+pVMfADPigL6ku nM3ibG7BXBncGnvuTTsxN/tYr4AAdsO/6JR1Ow0E= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jiu Fu Guo To: gcc-cvs@gcc.gnu.org Subject: [gcc r15-14] s390: avoid peeking eof after __vector X-Act-Checkin: gcc X-Git-Author: Jiufu Guo X-Git-Refname: refs/heads/master X-Git-Oldrev: 16da75c66631a0ada692ff2af918f7b02173d3cc X-Git-Newrev: 83bc41e8364360b63eaa59c88e2fb499a6751233 Message-Id: <20240428033912.36D0A3858D33@sourceware.org> Date: Sun, 28 Apr 2024 03:39:12 +0000 (GMT) List-Id: https://gcc.gnu.org/g:83bc41e8364360b63eaa59c88e2fb499a6751233 commit r15-14-g83bc41e8364360b63eaa59c88e2fb499a6751233 Author: Jiufu Guo 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