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