This patch kit:
  * adds minimal Python bindings for libgdiagnostics.so (below contrib)
  * implements a new dg-lint tool (below contrib) to detect for
    common mistakes in our testsuite, using Python 3 (and the above
    bindings)
  * fixes a bunch of issues reported by the tool

I've only tested the testsuite fixes on x86_64-pc-linux-gnu; there
were some new PASSes and no regressions, but I haven't tested the
tests on non-x86 archs.

Thoughts?

David Malcolm (12):
  contrib: add dg-lint and libgdiagnostics.py [PR116163]
  testsuite: fix broken dg directives
  testsuite, gomp: fix broken dg directives
  testsuite, aarch64: fix broken dg directives
  testsuite, arc: fix broken dg directives
  testsuite, arm: fix broken dg directives
  testsuite, bfin: fix broken dg directive
  testsuite, i386: fix broken dg directives
  testsuite, ia64: fix broken dg directives
  testsuite, powerpc: fix broken dg directives
  testsuite, riscv: fix broken dg directives
  testsuite, s390: fix broken dg directives

 contrib/dg-lint/dg-lint                       | 210 +++++++++++++++
 contrib/dg-lint/libgdiagnostics.py            | 248 ++++++++++++++++++
 contrib/dg-lint/test-1.c                      |  28 ++
 contrib/dg-lint/test-2.c                      |   8 +
 .../gomp/metadirective-target-device-2.c      |   2 +-
 gcc/testsuite/gcc.dg/gomp/attrs-21.c          |   2 +-
 gcc/testsuite/gcc.dg/gomp/parallel-2.c        |   2 +-
 gcc/testsuite/gcc.dg/ipa/pr110377.c           |   2 +-
 gcc/testsuite/gcc.dg/plugin/infoleak-1.c      |   2 +-
 gcc/testsuite/gcc.dg/pr101364-1.c             |   2 +-
 gcc/testsuite/gcc.dg/pr113207.c               |   2 +-
 .../gcc.dg/sarif-output/include-chain-2.c     |   2 +-
 gcc/testsuite/gcc.dg/strub-pr118007.c         |   2 +-
 gcc/testsuite/gcc.dg/tanhbysinh.c             |  12 +-
 gcc/testsuite/gcc.dg/uninit-pred-3_c.c        |   2 +-
 gcc/testsuite/gcc.dg/uninit-pred-3_d.c        |   2 +-
 .../gcc.dg/variable-sized-type-flex-array.c   |   4 +-
 .../gcc.target/aarch64/atomic-inst-ldlogic.c  |   4 +-
 .../aarch64/saturating_arithmetic_1.c         |   4 +-
 .../aarch64/saturating_arithmetic_2.c         |   4 +-
 gcc/testsuite/gcc.target/arc/taux-1.c         |   2 +-
 gcc/testsuite/gcc.target/arc/taux-2.c         |   2 +-
 gcc/testsuite/gcc.target/arm/cmse/cmse-17.c   |   2 +-
 gcc/testsuite/gcc.target/arm/short-vfp-1.c    |  10 +-
 gcc/testsuite/gcc.target/bfin/l2.c            |   2 +-
 gcc/testsuite/gcc.target/i386/addr-space-1.c  |   2 +-
 .../gcc.target/i386/strub-pr118006.c          |   2 +-
 .../gcc.target/ia64/mfused-madd-vect.c        |   2 +-
 gcc/testsuite/gcc.target/ia64/mfused-madd.c   |   2 +-
 .../gcc.target/ia64/mno-fused-madd.c          |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr70243.c    |   2 +-
 gcc/testsuite/gcc.target/powerpc/pr91903.c    |   2 +-
 gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c |   2 +-
 gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c |   2 +-
 .../gcc.target/riscv/prefetch-zicbop.c        |   2 +-
 .../gcc.target/riscv/prefetch-zihintntl.c     |   2 +-
 .../riscv/rvv/autovec/vls-vlmax/merge-4.c     |   2 +-
 .../riscv/rvv/autovec/vls/merge-4.c           |   2 +-
 .../s390/target-attribute/tattr-1.c           |   2 +-
 .../s390/target-attribute/tattr-2.c           |   2 +-
 40 files changed, 543 insertions(+), 49 deletions(-)
 create mode 100755 contrib/dg-lint/dg-lint
 create mode 100644 contrib/dg-lint/libgdiagnostics.py
 create mode 100644 contrib/dg-lint/test-1.c
 create mode 100644 contrib/dg-lint/test-2.c

-- 
2.26.3

Reply via email to