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