[OG13,committed,0/3] C++ attribute syntax fixes/testcases

Message ID 20230818173938.430758-1-sandra@codesourcery.com
Headers
Series C++ attribute syntax fixes/testcases |

Message

Sandra Loosemore Aug. 18, 2023, 5:39 p.m. UTC
  I've had a task item to ensure that g++ accepts the standard C++
attribute syntax form for all (currently-implemented) OpenMP 5.1
directives, and that there are tests to verify this.  I used some
scripting to scan for existing testcases given a list of the
directives, which I extracted from the reference card on the OpenMP
web site.  It looked to me that on mainline all the supported
directives had tests already, but on OG13 I found that
"metadirective", "declare mapper", and the loop transforms "tile" and
"unroll" had no tests, and on further investigation all of them had
bugs, too.

I didn't manually examine all the existing tests for other directives,
BTW, but the ones I spot-checked seem to have good coverage.  The new
tests are mostly just adapted from a subset of existing pragma-syntax
tests.

-Sandra


Sandra Loosemore (3):
  OpenMP: C++ attribute syntax fixes/testcases for "metadirective"
  OpenMP: C++ attribute syntax fixes/testcases for "declare mapper"
  OpenMP: C++ attribute syntax fixes/testcases for loop transformations

 gcc/c-family/ChangeLog.omp                    |   4 +
 gcc/c-family/c-omp.cc                         |   4 +-
 gcc/cp/ChangeLog.omp                          |  26 +++
 gcc/cp/parser.cc                              |  87 ++++++---
 gcc/testsuite/ChangeLog.omp                   |  30 +++
 .../g++.dg/gomp/attrs-declare-mapper-3.C      |  31 ++++
 .../g++.dg/gomp/attrs-declare-mapper-4.C      |  74 ++++++++
 .../g++.dg/gomp/attrs-declare-mapper-5.C      |  26 +++
 .../g++.dg/gomp/attrs-declare-mapper-6.C      |  22 +++
 .../g++.dg/gomp/attrs-metadirective-1.C       |  40 ++++
 .../g++.dg/gomp/attrs-metadirective-2.C       |  74 ++++++++
 .../g++.dg/gomp/attrs-metadirective-3.C       |  31 ++++
 .../g++.dg/gomp/attrs-metadirective-4.C       |  41 +++++
 .../g++.dg/gomp/attrs-metadirective-5.C       |  24 +++
 .../g++.dg/gomp/attrs-metadirective-6.C       |  31 ++++
 .../g++.dg/gomp/attrs-metadirective-7.C       |  31 ++++
 .../g++.dg/gomp/attrs-metadirective-8.C       |  16 ++
 .../gomp/loop-transforms/attrs-tile-1.C       | 164 +++++++++++++++++
 .../gomp/loop-transforms/attrs-tile-2.C       | 174 ++++++++++++++++++
 .../gomp/loop-transforms/attrs-tile-3.C       | 111 +++++++++++
 .../gomp/loop-transforms/attrs-unroll-1.C     | 135 ++++++++++++++
 .../gomp/loop-transforms/attrs-unroll-2.C     |  81 ++++++++
 .../gomp/loop-transforms/attrs-unroll-3.C     |  20 ++
 .../loop-transforms/attrs-unroll-inner-1.C    |  15 ++
 .../loop-transforms/attrs-unroll-inner-2.C    |  29 +++
 .../loop-transforms/attrs-unroll-inner-3.C    |  71 +++++++
 26 files changed, 1366 insertions(+), 26 deletions(-)
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-declare-mapper-3.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-declare-mapper-4.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-declare-mapper-5.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-declare-mapper-6.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-1.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-2.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-3.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-4.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-5.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-6.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-7.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/attrs-metadirective-8.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-tile-1.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-tile-2.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-tile-3.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-unroll-1.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-unroll-2.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-unroll-3.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-unroll-inner-1.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-unroll-inner-2.C
 create mode 100644 gcc/testsuite/g++.dg/gomp/loop-transforms/attrs-unroll-inner-3.C