-
- Downloads
c: Turn int-conversion warnings into permerrors
gcc/ * doc/invoke.texi (Warning Options): Document changes. gcc/c/ PR c/96284 PR c/106416 * c-typeck.cc (build_conditional_expr): Use permerror_opt for pointer/integer type mismatches, based on -Wint-conversion. (pedwarn_permerror_init, permerror_init): New function. (pedwarn_init): Call pedwarn_permerror_init. (convert_for_assignment): Use permerror_opt and permerror_init for -Wint-conversion warnings. gcc/testsuite/ * gcc.dg/permerror-default.c (int_conversion_1) (int_conversion_2): Expect the new permerrors. * gcc.dg/permerror-gnu89-nopermissive.c (int_conversion_1) (int_conversion_2): Likewise. * gcc.dg/permerror-system.c: Likewise. * c-c++-common/pr77624-1.c (foo, bar): Expect error instead of warning. * gcc.dg/Wint-conversion-2.c: Compile with -fpermissive due to expected int-conversion warning. * gcc.dg/Wint-conversion-3.c: Likewise. * gcc.dg/Wint-conversion-4.c: New test. Based on gcc.dg/Wint-conversion-3.c. Expect int-conversion errors. * gcc.dg/assign-warn-1.c: Compile with -fpermissive. * gcc.dg/assign-warn-4.c: New file. Extracted from assign-warn1.c. Expect int-conversion errors. * gcc.dg/diagnostic-types-1.c: Compile with -fpermissive. * gcc.dg/diagnostic-types-2.c: New file. Extracted from gcc.dg/diagnostic-types-1.c. Expect some errors instead of warnings. * gcc.dg/gomp/pr35738.c: Compile with -fpermissive due to expected int-conversion error. * gcc.dg/gomp/pr35738-2.c: New test. Based on gcc.dg/gomp/pr35738.c. Expect int-converison errors. * gcc.dg/init-excess-3.c: Expect int-converison errors. * gcc.dg/overflow-warn-1.c: Likewise. * gcc.dg/overflow-warn-3.c: Likewise. * gcc.dg/param-type-mismatch.c: Compile with -fpermissive. * gcc.dg/param-type-mismatch-2.c: New test. Copied from gcc.dg/param-type-mismatch.c. Expect errors. * gcc.dg/pr61162-2.c: Compile with -fpermissive. * gcc.dg/pr61162-3.c: New test. Extracted from gcc.dg/pr61162-2.c. Expect int-conversion errors. * gcc.dg/spec-barrier-3.c: Use -fpermissive due to expected int-conversion error. * gcc.dg/spec-barrier-3a.c: New test. Based on gcc.dg/spec-barrier-3.c. Expect int-conversion errors. * gcc.target/aarch64/acle/memtag_2.c: Use -fpermissive due to expected int-conversion error. * gcc.target/aarch64/acle/memtag_2a.c: New test. Copied from gcc.target/aarch64/acle/memtag_2.c. Expect error. * gcc.target/aarch64/sve/acle/general-c/load_3.c (f1): Expect error. * gcc.target/aarch64/sve/acle/general-c/store_2.c (f1): Likewise. * gcc.target/aarch64/sve/acle/general-c/store_scatter_index_1.c (f1): Likewise. * gcc.target/aarch64/sve/acle/general-c/store_scatter_index_restricted_1.c (f1): Likewise. * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_2.c (f1): Likewise. * gcc.target/aarch64/sve/acle/general-c/store_scatter_offset_restricted_1.c (f1): Likewise.
Showing
- gcc/c/c-typeck.cc 60 additions, 37 deletionsgcc/c/c-typeck.cc
- gcc/doc/invoke.texi 6 additions, 0 deletionsgcc/doc/invoke.texi
- gcc/testsuite/c-c++-common/pr77624-1.c 2 additions, 2 deletionsgcc/testsuite/c-c++-common/pr77624-1.c
- gcc/testsuite/gcc.dg/Wint-conversion-2.c 1 addition, 1 deletiongcc/testsuite/gcc.dg/Wint-conversion-2.c
- gcc/testsuite/gcc.dg/Wint-conversion-3.c 1 addition, 1 deletiongcc/testsuite/gcc.dg/Wint-conversion-3.c
- gcc/testsuite/gcc.dg/Wint-conversion-4.c 14 additions, 0 deletionsgcc/testsuite/gcc.dg/Wint-conversion-4.c
- gcc/testsuite/gcc.dg/assign-warn-1.c 1 addition, 1 deletiongcc/testsuite/gcc.dg/assign-warn-1.c
- gcc/testsuite/gcc.dg/assign-warn-4.c 21 additions, 0 deletionsgcc/testsuite/gcc.dg/assign-warn-4.c
- gcc/testsuite/gcc.dg/diagnostic-types-1.c 1 addition, 1 deletiongcc/testsuite/gcc.dg/diagnostic-types-1.c
- gcc/testsuite/gcc.dg/diagnostic-types-2.c 24 additions, 0 deletionsgcc/testsuite/gcc.dg/diagnostic-types-2.c
- gcc/testsuite/gcc.dg/gomp/pr35738-2.c 18 additions, 0 deletionsgcc/testsuite/gcc.dg/gomp/pr35738-2.c
- gcc/testsuite/gcc.dg/gomp/pr35738.c 1 addition, 1 deletiongcc/testsuite/gcc.dg/gomp/pr35738.c
- gcc/testsuite/gcc.dg/init-excess-3.c 2 additions, 2 deletionsgcc/testsuite/gcc.dg/init-excess-3.c
- gcc/testsuite/gcc.dg/overflow-warn-1.c 2 additions, 2 deletionsgcc/testsuite/gcc.dg/overflow-warn-1.c
- gcc/testsuite/gcc.dg/overflow-warn-3.c 2 additions, 2 deletionsgcc/testsuite/gcc.dg/overflow-warn-3.c
- gcc/testsuite/gcc.dg/param-type-mismatch-2.c 187 additions, 0 deletionsgcc/testsuite/gcc.dg/param-type-mismatch-2.c
- gcc/testsuite/gcc.dg/param-type-mismatch.c 1 addition, 1 deletiongcc/testsuite/gcc.dg/param-type-mismatch.c
- gcc/testsuite/gcc.dg/permerror-default.c 10 additions, 10 deletionsgcc/testsuite/gcc.dg/permerror-default.c
- gcc/testsuite/gcc.dg/permerror-gnu89-nopermissive.c 10 additions, 10 deletionsgcc/testsuite/gcc.dg/permerror-gnu89-nopermissive.c
- gcc/testsuite/gcc.dg/permerror-system.c 12 additions, 1 deletiongcc/testsuite/gcc.dg/permerror-system.c
Loading
Please register or sign in to comment