From: Eric Gallager <egall@gwmail.gwu.edu>
To: Florian Weimer <fweimer@redhat.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] C99 testsuite readiness: -fpermissive tests
Date: Sat, 11 Nov 2023 08:03:22 -0500 [thread overview]
Message-ID: <CAMfHzOtV0ASavM_1q_umbrWNddvj1H8ixsDyb4v_MHuzXJ392Q@mail.gmail.com> (raw)
In-Reply-To: <87leb5462f.fsf@oldenburg.str.redhat.com>
On Fri, Nov 10, 2023 at 5:06 PM Florian Weimer <fweimer@redhat.com> wrote:
>
> These tests use obsolete language constructs, but they are not
> clearly targeting C89, either. So use -fpermissive to keep
> future errors as warnings.
>
> The reasons why obsolete constructs are used used vary from
> test to test. Some tests deliberately exercise later stages
> of the compiler that only occur with those constructs. Some
> tests have precise expectations about warnings that will become
> errors with a future change, but do not specifically test a
> particular warning/error (if that is the case, the later changes
> tend to duplicate them into warning/error variants). In a few
> cases, use of obsolete constructs is clearly due to test case
> reduction, but it was not possible to un-reduce the test due
> to its size.
>
> gcc/testsuite/
>
> * c-c++-common/Wduplicated-branches-11.c: Compile with
> -fpermissive.
> * c-c++-common/Wduplicated-branches-12.c: Likewise.
> * c-c++-common/builtins.c: Likewise.
> * c-c++-common/pointer-to-fn1.c: Likewise.
> * gcc.c-torture/compile/20010320-1.c: Likewise.
> * gcc.c-torture/compile/20050105-1.c: Likewise.
> * gcc.c-torture/compile/20080704-1.c: Likewise.
> * gcc.c-torture/compile/20080910-1.c: Likewise.
> * gcc.c-torture/compile/20090917-1.c: Likewise.
> * gcc.c-torture/compile/20100915-1.c: Likewise.
> * gcc.c-torture/compile/20101216-1.c: Likewise.
> * gcc.c-torture/compile/20121027-1.c: Likewise.
> * gcc.c-torture/compile/20180605-1.c: Likewise.
> * gcc.c-torture/compile/950816-2.c: Likewise.
> * gcc.c-torture/compile/dse.c: Likewise.
> * gcc.c-torture/compile/pr100576.c: Likewise.
> * gcc.c-torture/compile/pr17408.c: Likewise.
> * gcc.c-torture/compile/pr19121.c: Likewise.
> * gcc.c-torture/compile/pr26213.c: Likewise.
> * gcc.c-torture/compile/pr27341-2.c: Likewise.
> * gcc.c-torture/compile/pr28776-2.c: Likewise.
> * gcc.c-torture/compile/pr33133.c: Likewise.
> * gcc.c-torture/compile/pr34091.c: Likewise.
> * gcc.c-torture/compile/pr36154.c: Likewise.
> * gcc.c-torture/compile/pr37381.c: Likewise.
> * gcc.c-torture/compile/pr38360.c: Likewise.
> * gcc.c-torture/compile/pr40291.c: Likewise.
> * gcc.c-torture/compile/pr41182-1.c: Likewise.
> * gcc.c-torture/compile/pr43635.c: Likewise.
> * gcc.c-torture/compile/pr44043.c: Likewise.
> * gcc.c-torture/compile/pr44063.c: Likewise.
> * gcc.c-torture/compile/pr44246.c: Likewise.
> * gcc.c-torture/compile/pr45535.c: Likewise.
> * gcc.c-torture/compile/pr46934.c: Likewise.
> * gcc.c-torture/compile/pr47428.c: Likewise.
> * gcc.c-torture/compile/pr49145.c: Likewise.
> * gcc.c-torture/compile/pr49206.c: Likewise.
> * gcc.c-torture/compile/pr51694.c: Likewise.
> * gcc.c-torture/compile/pr53886.c: Likewise.
> * gcc.c-torture/compile/pr65241.c: Likewise.
> * gcc.c-torture/compile/pr72802.c: Likewise.
> * gcc.c-torture/compile/pr81360.c: Likewise.
> * gcc.c-torture/compile/pr82052.c: Likewise.
> * gcc.c-torture/compile/pr90275-2.c: Likewise.
> * gcc.c-torture/compile/pr90275.c: Likewise.
> * gcc.c-torture/compile/pr96796.c: Likewise.
> * gcc.c-torture/compile/regs-arg-size.c: Likewise.
> * gcc.c-torture/compile/udivmod4.c: Likewise.
> * gcc.c-torture/compile/widechar-1.c: Likewise.
> * gcc.c-torture/execute/20000412-3.c: Likewise.
> * gcc.c-torture/execute/20010605-2.c: Likewise.
> * gcc.c-torture/execute/20020314-1.c: Likewise.
> * gcc.c-torture/execute/20020819-1.c: Likewise.
> * gcc.c-torture/execute/20031211-2.c: Likewise.
> * gcc.c-torture/execute/20040223-1.c: Likewise.
> * gcc.c-torture/execute/20041019-1.c: Likewise.
> * gcc.c-torture/execute/20120427-1.c: Likewise.
> * gcc.c-torture/execute/20120427-2.c: Likewise.
> * gcc.c-torture/execute/920908-2.c: Likewise.
> * gcc.c-torture/execute/921110-1.c: Likewise.
> * gcc.c-torture/execute/930111-1.c: Likewise.
> * gcc.c-torture/execute/930208-1.c: Likewise.
> * gcc.c-torture/execute/930702-1.c: Likewise.
> * gcc.c-torture/execute/930818-1.c: Likewise.
> * gcc.c-torture/execute/931017-1.c: Likewise.
> * gcc.c-torture/execute/931018-1.c: Likewise.
> * gcc.c-torture/execute/931208-1.c: Likewise.
> * gcc.c-torture/execute/941101-1.c: Likewise.
> * gcc.c-torture/execute/941110-1.c: Likewise.
> * gcc.c-torture/execute/950322-1.c: Likewise.
> * gcc.c-torture/execute/950426-1.c: Likewise.
> * gcc.c-torture/execute/950512-1.c: Likewise.
> * gcc.c-torture/execute/950621-1.c: Likewise.
> * gcc.c-torture/execute/960218-1.c: Likewise.
> * gcc.c-torture/execute/960402-1.c: Likewise.
> * gcc.c-torture/execute/cmpsf-1.c: Likewise.
> * gcc.c-torture/execute/cmpsi-1.c: Likewise.
> * gcc.c-torture/execute/cmpsi-2.c: Likewise.
> * gcc.c-torture/execute/divmod-1.c: Likewise.
> * gcc.c-torture/execute/pr22061-1.c: Likewise.
> * gcc.c-torture/execute/pr55875.c: Likewise.
> * gcc.dg/20050629-1.c: Likewise.
> * gcc.dg/20080615-1.c: Likewise.
> * gcc.dg/Walloca-14.c: Likewise.
> * gcc.dg/Wbuiltin-declaration-mismatch-3.c: Likewise.
> * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Likewise.
> * gcc.dg/Wdouble-promotion.c: Likewise.
> * gcc.dg/Wrestrict-5.c: Likewise.
> * gcc.dg/Wstringop-overflow-13.c: Likewise.
> * gcc.dg/analyzer/fd-bind-pr107783.c: Likewise.
> * gcc.dg/array-5.c: Likewise.
> * gcc.dg/asan/pr56417.c: Likewise.
> * gcc.dg/attr-access-read-only.c: Likewise.
> * gcc.dg/attr-access-read-write.c: Likewise.
> * gcc.dg/attr-access-write-only.c: Likewise.
> * gcc.dg/bitint-36.c: Likewise.
> * gcc.dg/builtin-bswap-10.c: Likewise.
> * gcc.dg/cleanup-1.c: Likewise.
> * gcc.dg/cpp/pr60014-1.c: Likewise.
> * gcc.dg/cpp/pr60014-2.c: Likewise.
> * gcc.dg/cpp/pr60014-3.c: Likewise.
> * gcc.dg/ipa/ipa-bit-cp-1.c: Likewise.
> * gcc.dg/ipa/ipa-bit-cp-2.c: Likewise.
> * gcc.dg/ipa/ipa-bit-cp.c: Likewise.
> * gcc.dg/ipa/pr105639.c: Likewise.
> * gcc.dg/ipa/pr71981.c: Likewise.
> * gcc.dg/lto/20081109_0.c: Likewise.
> * gcc.dg/lto/pr54702_1.c: Likewise.
> * gcc.dg/lto/pr55525_0.c: Likewise.
> * gcc.dg/noncompile/20020213-1.c:: Likewise.
> * gcc.dg/noncompile/pr71426.c: Likewise.
> * gcc.dg/noncompile/undeclared-1.c: Likewise.
> * gcc.dg/overflow-warn-2.c: Likewise.
> * gcc.dg/pr100142.c: Likewise.
> * gcc.dg/pr100790.c: Likewise.
> * gcc.dg/pr100791.c: Likewise.
> * gcc.dg/pr103093.c: Likewise.
> * gcc.dg/pr105140.c: Likewise.
> * gcc.dg/pr105250.c: Likewise.
> * gcc.dg/pr105853.c: Likewise.
> * gcc.dg/pr105856.c: Likewise.
> * gcc.dg/pr26865.c: Likewise.
> * gcc.dg/pr40989.c: Likewise.
> * gcc.dg/pr42715.c: Likewise.
> * gcc.dg/pr44971.c: Likewise.
> * gcc.dg/pr46571.c: Likewise.
> * gcc.dg/pr54363.c: Likewise.
> * gcc.dg/pr56724-2.c: Likewise.
> * gcc.dg/pr59630.c: Likewise.
> * gcc.dg/pr67043.c: Likewise.
> * gcc.dg/pr67730-1.c: Likewise.
> * gcc.dg/pr67730-2.c: Likewise.
> * gcc.dg/pr68320.c: Likewise.
> * gcc.dg/pr69156.c: Likewise.
> * gcc.dg/pr69824.c: Likewise.
> * gcc.dg/pr70174.c: Likewise.
> * gcc.dg/pr70281.c: Likewise.
> * gcc.dg/pr77862.c: Likewise.
> * gcc.dg/pr82765.c: Likewise.
> * gcc.dg/pr83852.c: Likewise.
> * gcc.dg/pr84206.c: Likewise.
> * gcc.dg/pr85164-1.c: Likewise.
> * gcc.dg/pr85955.c: Likewise.
> * gcc.dg/pr86271.c: Likewise.
> * gcc.dg/pr86928.c: Likewise.
> * gcc.dg/pr99122-1.c: Likewise.
> * gcc.dg/pr99136.c: Likewise.
> * gcc.dg/redecl-19.c: Likewise.
> * gcc.dg/redecl-24.c: Likewise.
> * gcc.dg/torture/pr39204.c: Likewise.
> * gcc.dg/torture/pr57676.c: Likewise.
> * gcc.dg/torture/pr67222.c: Likewise.
> * gcc.dg/torture/pr79125.c: Likewise.
> * gcc.dg/torture/pr94479.c: Likewise.
> * gcc.dg/tree-ssa/20070815.c: Likewise.
> * gcc.dg/tree-ssa/builtin-sprintf-29.c: Likewise.
> * gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Likewise.
> * gcc.dg/tree-ssa/pr22051-2.c: Likewise.
> * gcc.dg/tree-ssa/ssa-dse-10.c: Likewise.
> * gcc.target/aarch64/pr60697.c: Likewise.
> * gcc.target/aarch64/pr87305.c: Likewise.
> * gcc.target/aarch64/sve/pr96357.c: Likewise.
> * gcc.target/i386/attr-nocf-check-1a.c: Likewise.
> * gcc.target/i386/attr-nocf-check-3a.c: Likewise.
> * gcc.target/i386/avx512bf16-pr108881.c: Likewise.
> * gcc.target/i386/cet-notrack-2a.c: Likewise.
> * gcc.target/i386/cet-notrack-2b.c: Likewise.
> * gcc.target/i386/cet-notrack-5b.c: Likewise.
> * gcc.target/i386/cet-notrack-6a.c: Likewise.
> * gcc.target/i386/cet-notrack-6b.c: Likewise.
> * gcc.target/i386/pr70325.c: Likewise.
> * gcc.target/i386/pr70858.c: Likewise.
> * gcc.target/i386/pr83488.c: Likewise.
> * gcc.target/i386/pr85511.c: Likewise.
> * gcc.target/i386/pr87572.c: Likewise.
> * gcc.target/i386/pr88195.c: Likewise.
>
> ---
> gcc/testsuite/c-c++-common/Wduplicated-branches-11.c | 1 +
> gcc/testsuite/c-c++-common/Wduplicated-branches-12.c | 1 +
> gcc/testsuite/c-c++-common/builtins.c | 1 +
> gcc/testsuite/c-c++-common/pointer-to-fn1.c | 4 ++--
> gcc/testsuite/gcc.c-torture/compile/20010320-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/20050105-1.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/20080704-1.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/20080910-1.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/20090917-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/20100915-1.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/20101216-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/20121027-1.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/20180605-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/950816-2.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/dse.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr100576.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr17408.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr19121.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr26213.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr27341-2.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr28776-2.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr33133.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr34091.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr36154.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr37381.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr38360.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr40291.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr41182-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr43635.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr44043.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr44063.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr44246.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr45535.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr46934.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr47428.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr49145.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr49206.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr51694.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr53886.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr65241.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr72802.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr81360.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr82052.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr90275-2.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/pr90275.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/pr96796.c | 2 +-
> gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c | 1 +
> gcc/testsuite/gcc.c-torture/compile/udivmod4.c | 2 ++
> gcc/testsuite/gcc.c-torture/compile/widechar-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/20000412-3.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/20010605-2.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/20020314-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/20020819-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/20031211-2.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/20040223-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/20041019-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/20120427-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/20120427-2.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/920908-2.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/921110-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/930111-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/930208-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/930702-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/930818-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/931017-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/931018-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/931208-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/941101-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/941110-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/950322-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/950426-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/950512-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/950621-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/960218-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/960402-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/cmpsf-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/cmpsi-2.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/divmod-1.c | 2 ++
> gcc/testsuite/gcc.c-torture/execute/pr22061-1.c | 1 +
> gcc/testsuite/gcc.c-torture/execute/pr55875.c | 1 +
> gcc/testsuite/gcc.dg/20050629-1.c | 2 +-
> gcc/testsuite/gcc.dg/20080615-1.c | 2 +-
> gcc/testsuite/gcc.dg/Walloca-14.c | 1 +
> gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-3.c | 2 +-
> gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-9.c | 2 +-
> gcc/testsuite/gcc.dg/Wdouble-promotion.c | 2 +-
> gcc/testsuite/gcc.dg/Wrestrict-5.c | 2 +-
> gcc/testsuite/gcc.dg/Wstringop-overflow-13.c | 2 +-
> gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107783.c | 2 ++
> gcc/testsuite/gcc.dg/array-5.c | 2 +-
> gcc/testsuite/gcc.dg/asan/pr56417.c | 2 +-
> gcc/testsuite/gcc.dg/attr-access-read-only.c | 2 +-
> gcc/testsuite/gcc.dg/attr-access-read-write.c | 2 +-
> gcc/testsuite/gcc.dg/attr-access-write-only.c | 2 +-
> gcc/testsuite/gcc.dg/bitint-36.c | 2 +-
> gcc/testsuite/gcc.dg/builtin-bswap-10.c | 2 +-
> gcc/testsuite/gcc.dg/cleanup-1.c | 2 +-
> gcc/testsuite/gcc.dg/cpp/pr60014-1.c | 2 +-
> gcc/testsuite/gcc.dg/cpp/pr60014-2.c | 2 +-
> gcc/testsuite/gcc.dg/cpp/pr60014-3.c | 2 +-
> gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-1.c | 2 +-
> gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-2.c | 2 +-
> gcc/testsuite/gcc.dg/ipa/ipa-bit-cp.c | 2 +-
> gcc/testsuite/gcc.dg/ipa/pr105639.c | 2 +-
> gcc/testsuite/gcc.dg/ipa/pr71981.c | 2 +-
> gcc/testsuite/gcc.dg/lto/20081109_0.c | 2 +-
> gcc/testsuite/gcc.dg/lto/pr54702_1.c | 1 +
> gcc/testsuite/gcc.dg/lto/pr55525_0.c | 2 +-
> gcc/testsuite/gcc.dg/noncompile/20020213-1.c | 1 +
> gcc/testsuite/gcc.dg/noncompile/pr71426.c | 2 +-
> gcc/testsuite/gcc.dg/noncompile/undeclared-1.c | 2 +-
> gcc/testsuite/gcc.dg/overflow-warn-2.c | 2 +-
> gcc/testsuite/gcc.dg/pr100142.c | 2 +-
> gcc/testsuite/gcc.dg/pr100790.c | 2 +-
> gcc/testsuite/gcc.dg/pr100791.c | 2 +-
> gcc/testsuite/gcc.dg/pr103093.c | 2 +-
> gcc/testsuite/gcc.dg/pr105140.c | 2 +-
> gcc/testsuite/gcc.dg/pr105250.c | 2 +-
> gcc/testsuite/gcc.dg/pr105853.c | 2 +-
> gcc/testsuite/gcc.dg/pr105856.c | 2 +-
> gcc/testsuite/gcc.dg/pr26865.c | 2 +-
> gcc/testsuite/gcc.dg/pr40989.c | 2 +-
> gcc/testsuite/gcc.dg/pr42715.c | 2 +-
> gcc/testsuite/gcc.dg/pr44971.c | 2 +-
> gcc/testsuite/gcc.dg/pr46571.c | 2 +-
> gcc/testsuite/gcc.dg/pr54363.c | 2 +-
> gcc/testsuite/gcc.dg/pr56724-2.c | 2 +-
> gcc/testsuite/gcc.dg/pr59630.c | 2 +-
> gcc/testsuite/gcc.dg/pr67043.c | 2 +-
> gcc/testsuite/gcc.dg/pr67730-1.c | 2 +-
> gcc/testsuite/gcc.dg/pr67730-2.c | 2 +-
> gcc/testsuite/gcc.dg/pr68320.c | 2 +-
> gcc/testsuite/gcc.dg/pr69156.c | 2 +-
> gcc/testsuite/gcc.dg/pr69824.c | 2 +-
> gcc/testsuite/gcc.dg/pr70174.c | 2 +-
> gcc/testsuite/gcc.dg/pr70281.c | 2 +-
> gcc/testsuite/gcc.dg/pr77862.c | 2 +-
> gcc/testsuite/gcc.dg/pr82765.c | 2 +-
> gcc/testsuite/gcc.dg/pr83852.c | 2 +-
> gcc/testsuite/gcc.dg/pr84206.c | 2 +-
> gcc/testsuite/gcc.dg/pr85164-1.c | 2 +-
> gcc/testsuite/gcc.dg/pr85955.c | 2 +-
> gcc/testsuite/gcc.dg/pr86271.c | 2 +-
> gcc/testsuite/gcc.dg/pr86928.c | 2 +-
> gcc/testsuite/gcc.dg/pr99122-1.c | 2 +-
> gcc/testsuite/gcc.dg/pr99136.c | 2 +-
> gcc/testsuite/gcc.dg/redecl-19.c | 2 +-
> gcc/testsuite/gcc.dg/redecl-24.c | 2 +-
> gcc/testsuite/gcc.dg/torture/pr39204.c | 2 +-
> gcc/testsuite/gcc.dg/torture/pr57676.c | 2 +-
> gcc/testsuite/gcc.dg/torture/pr67222.c | 1 +
> gcc/testsuite/gcc.dg/torture/pr79125.c | 1 +
> gcc/testsuite/gcc.dg/torture/pr94479.c | 2 +-
> gcc/testsuite/gcc.dg/tree-ssa/20070815.c | 2 +-
> gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-29.c | 2 +-
> gcc/testsuite/gcc.dg/tree-ssa/builtins-folding-gimple-ub.c | 2 +-
> gcc/testsuite/gcc.dg/tree-ssa/pr22051-2.c | 2 +-
> gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/pr60697.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/pr87305.c | 2 +-
> gcc/testsuite/gcc.target/aarch64/sve/pr96357.c | 2 +-
> gcc/testsuite/gcc.target/i386/attr-nocf-check-1a.c | 2 +-
> gcc/testsuite/gcc.target/i386/attr-nocf-check-3a.c | 2 +-
> gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c | 2 +-
> gcc/testsuite/gcc.target/i386/cet-notrack-2a.c | 2 +-
> gcc/testsuite/gcc.target/i386/cet-notrack-2b.c | 2 +-
> gcc/testsuite/gcc.target/i386/cet-notrack-5b.c | 2 +-
> gcc/testsuite/gcc.target/i386/cet-notrack-6a.c | 2 +-
> gcc/testsuite/gcc.target/i386/cet-notrack-6b.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr70325.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr70858.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr83488.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr85511.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr87572.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr88195.c | 2 +-
> 176 files changed, 216 insertions(+), 92 deletions(-)
>
> diff --git a/gcc/testsuite/c-c++-common/Wduplicated-branches-11.c b/gcc/testsuite/c-c++-common/Wduplicated-branches-11.c
> index 70d86cf7f05..39d33f27783 100644
> --- a/gcc/testsuite/c-c++-common/Wduplicated-branches-11.c
> +++ b/gcc/testsuite/c-c++-common/Wduplicated-branches-11.c
> @@ -1,6 +1,7 @@
> /* PR c/64279 */
> /* { dg-do compile } */
> /* { dg-options "-Wduplicated-branches" } */
> +/* { dg-options "-fpermissive -Wduplicated-branches" { target c } } */
>
> int
> f (int p)
> diff --git a/gcc/testsuite/c-c++-common/Wduplicated-branches-12.c b/gcc/testsuite/c-c++-common/Wduplicated-branches-12.c
> index cd746f1ad30..3ba1a29366b 100644
> --- a/gcc/testsuite/c-c++-common/Wduplicated-branches-12.c
> +++ b/gcc/testsuite/c-c++-common/Wduplicated-branches-12.c
> @@ -1,6 +1,7 @@
> /* PR c/64279 */
> /* { dg-do compile } */
> /* { dg-options "-Wduplicated-branches" } */
> +/* { dg-options "-fpermissive -Wduplicated-branches" { target c } } */
>
> void
> f (int i)
> diff --git a/gcc/testsuite/c-c++-common/builtins.c b/gcc/testsuite/c-c++-common/builtins.c
> index 3f1ef115aed..527c77e7952 100644
> --- a/gcc/testsuite/c-c++-common/builtins.c
> +++ b/gcc/testsuite/c-c++-common/builtins.c
> @@ -2,6 +2,7 @@
> with no prototype do not cause an ICE.
> { dg-do compile }
> { dg-options "-O2 -Wall -Wextra" }
> + { dg-additional-options "-fpermissive" { target c } }
> { dg-prune-output "warning" }
> { dg-require-effective-target alloca } */
>
> diff --git a/gcc/testsuite/c-c++-common/pointer-to-fn1.c b/gcc/testsuite/c-c++-common/pointer-to-fn1.c
> index e2f948d824a..70a5831c958 100644
> --- a/gcc/testsuite/c-c++-common/pointer-to-fn1.c
> +++ b/gcc/testsuite/c-c++-common/pointer-to-fn1.c
> @@ -1,7 +1,7 @@
> /* PR c++/106937 */
> /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
> -/* { dg-options "-fcf-protection" } */
> -/* { dg-additional-options "-std=c++11 -fpermissive" { target c++ } } */
> +/* { dg-options "-fpermissive -fcf-protection" } */
> +/* { dg-additional-options "-std=c++11" { target c++ } } */
> /* Test printing a pointer to function with attribute. */
>
> __attribute__((nocf_check)) typedef void (*FPA1)();
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20010320-1.c b/gcc/testsuite/gcc.c-torture/compile/20010320-1.c
> index 14686d62318..f0b54e13a6d 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20010320-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20010320-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef struct sec {
> const char *name;
> int id;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20050105-1.c b/gcc/testsuite/gcc.c-torture/compile/20050105-1.c
> index 16d18f30637..52f644593af 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20050105-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20050105-1.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> void bar (struct S *);
> void foo (void *x)
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20080704-1.c b/gcc/testsuite/gcc.c-torture/compile/20080704-1.c
> index b5e38b4ba60..963162947dd 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20080704-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20080704-1.c
> @@ -1,5 +1,6 @@
> /* This code used to crash fold_convert due to PRE
> wanting to fold_convert from a REAL_TYPE to an INTEGER_TYPE. */
> +/* { dg-additional-options "-fpermissive" } */
> typedef unsigned int uint32_t;
> union double_union
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20080910-1.c b/gcc/testsuite/gcc.c-torture/compile/20080910-1.c
> index bf32775d401..911fb562790 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20080910-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20080910-1.c
> @@ -1,5 +1,6 @@
> /* This used to crash IRA with -O3 -fPIC.
> See PR 37333. */
> +/* { dg-additional-options "-fpermissive" } */
> struct yy_buffer_state {
> int yy_is_interactive;
> };
The fact that this one appears to be based on a scanner generated by
flex gives me pause. Is code from flex/yacc/bison going to need
-fpermissive in general, or is this just because it was generated by
an old version? If it's only old versions that generate code requiring
-fpermissive, when exactly did they stop doing that?
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20090917-1.c b/gcc/testsuite/gcc.c-torture/compile/20090917-1.c
> index 2b8c37148bd..0e45fdc63a4 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20090917-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20090917-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef int *loop_p;
> typedef struct VEC_loop_p_base
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20100915-1.c b/gcc/testsuite/gcc.c-torture/compile/20100915-1.c
> index 04f6ab0fd70..6f137a07512 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20100915-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20100915-1.c
> @@ -1,5 +1,6 @@
> /* PR rtl-optimization/45593 */
> /* Testcase by Arnaud Lacombe <lacombar@gmail.com> */
> +/* { dg-additional-options "-fpermissive" } */
>
> typedef unsigned int __u32;
> typedef __u32 __be32;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20101216-1.c b/gcc/testsuite/gcc.c-torture/compile/20101216-1.c
> index 0c58898c13f..8fae126984a 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20101216-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20101216-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef signed int __int32_t;
> typedef unsigned int __uint32_t;
> typedef union
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20121027-1.c b/gcc/testsuite/gcc.c-torture/compile/20121027-1.c
> index 7c92f3fa436..3c9c9147ca7 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20121027-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20121027-1.c
> @@ -1,4 +1,5 @@
> /* { dg-require-stack-size "1024+16" } */
> +/* { dg-additional-options "-fpermissive" } */
>
> extern int nc;
> void f(void)
> diff --git a/gcc/testsuite/gcc.c-torture/compile/20180605-1.c b/gcc/testsuite/gcc.c-torture/compile/20180605-1.c
> index 915dafddad0..59669297f19 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/20180605-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/20180605-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> void f (int *p, int n)
> {
> int j = 0, k;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/950816-2.c b/gcc/testsuite/gcc.c-torture/compile/950816-2.c
> index e7f3bf79453..5d3fce166bf 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/950816-2.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/950816-2.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> int func (char *);
> void
> f (void)
> diff --git a/gcc/testsuite/gcc.c-torture/compile/dse.c b/gcc/testsuite/gcc.c-torture/compile/dse.c
> index 908e6503eb4..0728a629dec 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/dse.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/dse.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef unsigned long microblaze_reg_t;
> struct pt_regs
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr100576.c b/gcc/testsuite/gcc.c-torture/compile/pr100576.c
> index f16a8224c6e..ad0b6325e8d 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr100576.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr100576.c
> @@ -1,4 +1,5 @@
> /* { dg-require-effective-target non_strict_prototype } */
> +/* { dg-additional-options "-fpermissive" } */
>
> /* PR middle-end/100576 */
>
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr17408.c b/gcc/testsuite/gcc.c-torture/compile/pr17408.c
> index 4819673f284..6f07faec032 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr17408.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr17408.c
> @@ -1,4 +1,5 @@
> /* PRs 17408 and 17409, with different options. */
> +/* { dg-additional-options "-fpermissive" } */
> extern int t;
> extern int t = 0;
> void f(){t =0;}
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr19121.c b/gcc/testsuite/gcc.c-torture/compile/pr19121.c
> index b8f4c21f9ee..aa8f0c40f97 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr19121.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr19121.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> typedef struct interpreter {
> char Itokenbuf[256];
> } PerlInterpreter;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr26213.c b/gcc/testsuite/gcc.c-torture/compile/pr26213.c
> index 7a6600c18d5..d0b0bc5f785 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr26213.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr26213.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> void
> xnanosleep (_Bool overflow)
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr27341-2.c b/gcc/testsuite/gcc.c-torture/compile/pr27341-2.c
> index e6be1e4712d..3714ad282c2 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr27341-2.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr27341-2.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> void zgemm_ (const int*, const double*);
> extern void matmul_c8 (_Complex double * dest)
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr28776-2.c b/gcc/testsuite/gcc.c-torture/compile/pr28776-2.c
> index 61a5d37dfa9..0165b770efa 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr28776-2.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr28776-2.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> typedef struct RangeCoder
> {
> unsigned char one_state[256];
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr33133.c b/gcc/testsuite/gcc.c-torture/compile/pr33133.c
> index d1b09640eee..156f8fbfa11 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr33133.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr33133.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> static char newshuffle[256 + 16] = {
> 0x0f, 0x08, 0x05, 0x07, 0x0c, 0x02, 0x0e, 0x09, 0x00, 0x01, 0x06, 0x0d,
> 0x03, 0x04, 0x0b, 0x0a, 0x02, 0x0c, 0x0e, 0x06, 0x0f, 0x00, 0x01, 0x08,
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr34091.c b/gcc/testsuite/gcc.c-torture/compile/pr34091.c
> index a623a383fd0..2ea283c3812 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr34091.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr34091.c
> @@ -1,4 +1,5 @@
> /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
> +/* { dg-additional-options "-fpermissive" } */
>
> typedef unsigned int GLenum;
> typedef unsigned char GLboolean;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr36154.c b/gcc/testsuite/gcc.c-torture/compile/pr36154.c
> index ae3eb83fa11..1eee6be3a5f 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr36154.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr36154.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> struct eth_test_pkt {
> unsigned short len;
> unsigned short ctr;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37381.c b/gcc/testsuite/gcc.c-torture/compile/pr37381.c
> index d8cd47d329d..e6a2e6f06ed 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr37381.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr37381.c
> @@ -1,4 +1,5 @@
> /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
> +/* { dg-additional-options "-fpermissive" } */
>
> extern unsigned int __invalid_size_argument_for_IOC;
> typedef unsigned int __u32;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr38360.c b/gcc/testsuite/gcc.c-torture/compile/pr38360.c
> index 4c67b0085ca..d261ce3c44c 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr38360.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr38360.c
> @@ -1,5 +1,6 @@
> /* PR middle-end/38360 */
> /* { dg-require-effective-target untyped_assembly } */
> +/* { dg-additional-options "-fpermissive" } */
>
> int
> main ()
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr40291.c b/gcc/testsuite/gcc.c-torture/compile/pr40291.c
> index d50bbee6608..dc37cd776c1 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr40291.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr40291.c
> @@ -1,4 +1,5 @@
> /* PR middle-end/40291 */
> +/* { dg-additional-options "-fpermissive" } */
>
> int
> foo (void *x, char *y, unsigned long long z)
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr41182-1.c b/gcc/testsuite/gcc.c-torture/compile/pr41182-1.c
> index 017174938b3..f14faf84231 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr41182-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr41182-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef long unsigned int size_t;
> int _lae_process_opts(char *pr, char *pe)
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43635.c b/gcc/testsuite/gcc.c-torture/compile/pr43635.c
> index 3875f4efcd4..cab02ec426c 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr43635.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr43635.c
> @@ -1,5 +1,6 @@
> /* { dg-require-effective-target untyped_assembly } */
> /* { dg-require-effective-target indirect_calls } */
> +/* { dg-additional-options "-fpermissive" } */
>
> extern void d (void);
>
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr44043.c b/gcc/testsuite/gcc.c-torture/compile/pr44043.c
> index bd51089a70a..64a0f4e354e 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr44043.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr44043.c
> @@ -1,4 +1,5 @@
> /* { dg-require-effective-target indirect_calls } */
> +/* { dg-additional-options "-fpermissive" } */
>
> typedef unsigned char __u8;
> typedef unsigned short __u16;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr44063.c b/gcc/testsuite/gcc.c-torture/compile/pr44063.c
> index 32208f610f9..ce9fc1b9027 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr44063.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr44063.c
> @@ -1,4 +1,5 @@
> /* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */
> +/* { dg-additional-options "-fpermissive" } */
>
> typedef signed char int8_t;
> typedef short int16_t;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr44246.c b/gcc/testsuite/gcc.c-torture/compile/pr44246.c
> index 6e478690351..18f238a559c 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr44246.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr44246.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> int main(int argc, char *argv[])
> {
> strcat(argv[0], "X");
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr45535.c b/gcc/testsuite/gcc.c-torture/compile/pr45535.c
> index 03d15a12d05..3bafbf500dd 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr45535.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr45535.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef struct {
> unsigned long pmd0;
> unsigned long pmd1;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr46934.c b/gcc/testsuite/gcc.c-torture/compile/pr46934.c
> index a9c0b683315..46692565151 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr46934.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr46934.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> int caller (unsigned int reg_type)
> {
> switch (reg_type)
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr47428.c b/gcc/testsuite/gcc.c-torture/compile/pr47428.c
> index 3cd7bfdf56e..914436f6b5d 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr47428.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr47428.c
> @@ -1,5 +1,6 @@
> /* PR tree-optimization/47428 */
> /* { dg-require-effective-target untyped_assembly } */
> +/* { dg-additional-options "-fpermissive" } */
>
> struct S
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr49145.c b/gcc/testsuite/gcc.c-torture/compile/pr49145.c
> index b44e1977031..b7b8744bfae 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr49145.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr49145.c
> @@ -1,4 +1,6 @@
> /* { dg-require-effective-target untyped_assembly } */
> +/* { dg-additional-options "-fpermissive" } */
> +
> static int
> func1 (int a, int b)
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr49206.c b/gcc/testsuite/gcc.c-torture/compile/pr49206.c
> index 7596f6a3106..eda32df69f3 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr49206.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr49206.c
> @@ -1,4 +1,6 @@
> /* { dg-require-effective-target untyped_assembly } */
> +/* { dg-additional-options "-fpermissive" } */
> +
> struct S1
> {
> short f0;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr51694.c b/gcc/testsuite/gcc.c-torture/compile/pr51694.c
> index c06bc2118aa..9eddc0bf405 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr51694.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr51694.c
> @@ -1,5 +1,6 @@
> /* { dg-require-effective-target untyped_assembly } */
> /* { dg-require-effective-target indirect_calls } */
> +/* { dg-additional-options "-fpermissive" } */
>
> void
> foo (x, fn)
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr53886.c b/gcc/testsuite/gcc.c-torture/compile/pr53886.c
> index 89b69663529..d1c7accb54a 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr53886.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr53886.c
> @@ -1,4 +1,6 @@
> /* PR target/53886 */
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef struct asn1_string_st ASN1_BIT_STRING;
> typedef struct bignum_st BIGNUM;
> typedef struct ec_group_st EC_GROUP;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr65241.c b/gcc/testsuite/gcc.c-torture/compile/pr65241.c
> index dd76ac53098..75e11a26dcc 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr65241.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr65241.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> enum E { A, B, C, D };
> void fn4 (void);
>
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr72802.c b/gcc/testsuite/gcc.c-torture/compile/pr72802.c
> index b9e1ab31580..6aa7f2ee608 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr72802.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr72802.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> static a[];
> static b, h, m, n, o, p, q, t, u, v, t5, t6, t16, t17, t18, t25;
> c;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr81360.c b/gcc/testsuite/gcc.c-torture/compile/pr81360.c
> index ffd3f2472de..b709a859404 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr81360.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr81360.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> typedef a;
> b(void *c, a d) {
> if (c)
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82052.c b/gcc/testsuite/gcc.c-torture/compile/pr82052.c
> index 09fac5edb1e..f13e7d9da44 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr82052.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr82052.c
> @@ -1,4 +1,5 @@
> /* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */
> +/* { dg-additional-options "-fpermissive" } */
>
> typedef unsigned char uint8_t;
> typedef unsigned short uint16_t;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr90275-2.c b/gcc/testsuite/gcc.c-torture/compile/pr90275-2.c
> index 9ebf7d9fd1a..f8ed5ac917d 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr90275-2.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr90275-2.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
>
> void
> a() {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr90275.c b/gcc/testsuite/gcc.c-torture/compile/pr90275.c
> index 83e0df77226..bdf654219e8 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr90275.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr90275.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> a, b, c;
>
> long long d;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr96796.c b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
> index 82c7512f88b..debbe62e22f 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/pr96796.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
> @@ -1,4 +1,4 @@
> -/* { dg-additional-options "-fcommon" } */
> +/* { dg-additional-options "-fpermissive -fcommon" } */
> /* { dg-require-effective-target non_strict_prototype } */
>
> struct S0 {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c b/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c
> index 77518866d3f..2e10f628f0f 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/regs-arg-size.c
> @@ -1,4 +1,5 @@
> /* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */
> +/* { dg-additional-options "-fpermissive" } */
>
> int foo;
> typedef long unsigned int size_t;
> diff --git a/gcc/testsuite/gcc.c-torture/compile/udivmod4.c b/gcc/testsuite/gcc.c-torture/compile/udivmod4.c
> index 40d2fa8d07c..9d98a3d575d 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/udivmod4.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/udivmod4.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> long long
> xlrandom ()
> {
> diff --git a/gcc/testsuite/gcc.c-torture/compile/widechar-1.c b/gcc/testsuite/gcc.c-torture/compile/widechar-1.c
> index 5d89f33a864..6a446d0b0e7 100644
> --- a/gcc/testsuite/gcc.c-torture/compile/widechar-1.c
> +++ b/gcc/testsuite/gcc.c-torture/compile/widechar-1.c
> @@ -1 +1,2 @@
> +/* { dg-additional-options "-fpermissive" } */
> char *s = L"a" "b";
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20000412-3.c b/gcc/testsuite/gcc.c-torture/execute/20000412-3.c
> index a5cb3eece03..305454ac2a8 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20000412-3.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20000412-3.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef struct {
> char y;
> char x[32];
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20010605-2.c b/gcc/testsuite/gcc.c-torture/execute/20010605-2.c
> index 09c7f76ac82..837e0a960d6 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20010605-2.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20010605-2.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> void foo (), bar (), baz ();
> int main ()
> {
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20020314-1.c b/gcc/testsuite/gcc.c-torture/execute/20020314-1.c
> index 2f68ae8ff6d..8484256fc54 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20020314-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20020314-1.c
> @@ -1,4 +1,5 @@
> /* { dg-require-effective-target alloca } */
> +/* { dg-additional-options "-fpermissive" } */
> void f(void * a, double y)
> {
> }
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20020819-1.c b/gcc/testsuite/gcc.c-torture/execute/20020819-1.c
> index 549da910cd4..6ef3e2e0c0e 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20020819-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20020819-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> foo ()
> {
> return 0;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20031211-2.c b/gcc/testsuite/gcc.c-torture/execute/20031211-2.c
> index 555b17d9ac6..036a70d385a 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20031211-2.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20031211-2.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> struct a
> {
> unsigned int bitfield : 3;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20040223-1.c b/gcc/testsuite/gcc.c-torture/execute/20040223-1.c
> index c295e4b09ea..4ec6ba71aaa 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20040223-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20040223-1.c
> @@ -1,4 +1,5 @@
> /* { dg-require-effective-target alloca } */
> +/* { dg-additional-options "-fpermissive" } */
> #include <string.h>
> #include <stdio.h>
>
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20041019-1.c b/gcc/testsuite/gcc.c-torture/execute/20041019-1.c
> index 3c56b31e9ce..d497d75f6f0 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20041019-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20041019-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> test_store_ccp (int i)
> {
> int *p, a, b, c;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20120427-1.c b/gcc/testsuite/gcc.c-torture/execute/20120427-1.c
> index 46ed76ae943..fe7d072d2ae 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20120427-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20120427-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef struct sreal
> {
> unsigned sig; /* Significant. */
> diff --git a/gcc/testsuite/gcc.c-torture/execute/20120427-2.c b/gcc/testsuite/gcc.c-torture/execute/20120427-2.c
> index e473a4772a9..c8e01216240 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/20120427-2.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/20120427-2.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef struct sreal
> {
> unsigned sig; /* Significant. */
> diff --git a/gcc/testsuite/gcc.c-torture/execute/920908-2.c b/gcc/testsuite/gcc.c-torture/execute/920908-2.c
> index 31c1ae0769c..ed95337e0b0 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/920908-2.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/920908-2.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> /* The bit-field below would have a problem if __INT_MAX__ is too
> small. */
> #if __INT_MAX__ < 2147483647
> diff --git a/gcc/testsuite/gcc.c-torture/execute/921110-1.c b/gcc/testsuite/gcc.c-torture/execute/921110-1.c
> index b04b84a65f9..c8d4e07ff52 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/921110-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/921110-1.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> extern void abort(void);
> typedef void (*frob)();
> frob f[] = {abort};
> diff --git a/gcc/testsuite/gcc.c-torture/execute/930111-1.c b/gcc/testsuite/gcc.c-torture/execute/930111-1.c
> index e908f14f67f..3a2b069b23d 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/930111-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/930111-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> main()
> {
> if (wwrite((long long) 0) != 123)
> diff --git a/gcc/testsuite/gcc.c-torture/execute/930208-1.c b/gcc/testsuite/gcc.c-torture/execute/930208-1.c
> index 464b69d437e..ee10400d4e7 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/930208-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/930208-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> typedef union {
> long l;
> struct { char b3, b2, b1, b0; } c;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/930702-1.c b/gcc/testsuite/gcc.c-torture/execute/930702-1.c
> index 8828a701cb9..efe49305861 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/930702-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/930702-1.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> fp (double a, int b)
> {
> if (a != 33 || b != 11)
> diff --git a/gcc/testsuite/gcc.c-torture/execute/930818-1.c b/gcc/testsuite/gcc.c-torture/execute/930818-1.c
> index 710e3ce2fbe..530cd5fe96c 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/930818-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/930818-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> static double one = 1.0;
>
> f()
> diff --git a/gcc/testsuite/gcc.c-torture/execute/931017-1.c b/gcc/testsuite/gcc.c-torture/execute/931017-1.c
> index 5917bd95b76..7c4c5450db0 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/931017-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/931017-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> int v;
>
> main ()
> diff --git a/gcc/testsuite/gcc.c-torture/execute/931018-1.c b/gcc/testsuite/gcc.c-torture/execute/931018-1.c
> index 01b6050bf35..17deed87e9f 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/931018-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/931018-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> unsigned int a[0x1000];
> extern const unsigned long v;
>
> diff --git a/gcc/testsuite/gcc.c-torture/execute/931208-1.c b/gcc/testsuite/gcc.c-torture/execute/931208-1.c
> index ee2bc9f1e04..56da2ce3221 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/931208-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/931208-1.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> f ()
> {
> unsigned long x, y = 1;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/941101-1.c b/gcc/testsuite/gcc.c-torture/execute/941101-1.c
> index 66b5f384a80..22542717d80 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/941101-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/941101-1.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> f ()
> {
> int var = 7;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/941110-1.c b/gcc/testsuite/gcc.c-torture/execute/941110-1.c
> index b78256d3c3f..72a0a7e20f8 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/941110-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/941110-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> f (const int x)
> {
> int y = 0;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/950322-1.c b/gcc/testsuite/gcc.c-torture/execute/950322-1.c
> index 28a1469fea0..993939adae4 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/950322-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/950322-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> f (unsigned char *a)
> {
> int i, j;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/950426-1.c b/gcc/testsuite/gcc.c-torture/execute/950426-1.c
> index 076032c7220..fb21b86fe18 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/950426-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/950426-1.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
>
> struct tag {
> int m1;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/950512-1.c b/gcc/testsuite/gcc.c-torture/execute/950512-1.c
> index 8aa116d27ca..8cc83981de9 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/950512-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/950512-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> unsigned
> f1 (x)
> {
> diff --git a/gcc/testsuite/gcc.c-torture/execute/950621-1.c b/gcc/testsuite/gcc.c-torture/execute/950621-1.c
> index 5fc5a902874..f6c3469abdf 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/950621-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/950621-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> struct s
> {
> int a;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/960218-1.c b/gcc/testsuite/gcc.c-torture/execute/960218-1.c
> index dc94734a81f..7420893ffdf 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/960218-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/960218-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> int gl;
>
> g (x)
> diff --git a/gcc/testsuite/gcc.c-torture/execute/960402-1.c b/gcc/testsuite/gcc.c-torture/execute/960402-1.c
> index 601a9a3b091..526f4c59f2e 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/960402-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/960402-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> f (signed long long int x)
> {
> return x > 0xFFFFFFFFLL || x < -0x80000000LL;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/cmpsf-1.c b/gcc/testsuite/gcc.c-torture/execute/cmpsf-1.c
> index 87886c6de57..e3d1ad6d75b 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/cmpsf-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/cmpsf-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> #include <limits.h>
>
> #define F 140
> diff --git a/gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c b/gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
> index 9fce104fefb..6d6d03798f7 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> f1 (unsigned int x, unsigned int y)
> {
> if (x == 0)
> diff --git a/gcc/testsuite/gcc.c-torture/execute/cmpsi-2.c b/gcc/testsuite/gcc.c-torture/execute/cmpsi-2.c
> index 52c8065dd1b..3266b5ac056 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/cmpsi-2.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/cmpsi-2.c
> @@ -1,4 +1,6 @@
> /* { dg-require-effective-target int32plus } */
> +/* { dg-additional-options "-fpermissive" } */
> +
> #define F 140
> #define T 13
>
> diff --git a/gcc/testsuite/gcc.c-torture/execute/divmod-1.c b/gcc/testsuite/gcc.c-torture/execute/divmod-1.c
> index 2bcd109708d..9b0bdc5854c 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/divmod-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/divmod-1.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> div1 (signed char x)
> {
> return x / -1;
> diff --git a/gcc/testsuite/gcc.c-torture/execute/pr22061-1.c b/gcc/testsuite/gcc.c-torture/execute/pr22061-1.c
> index ffd6ccc7b46..0a0f767a1d4 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/pr22061-1.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/pr22061-1.c
> @@ -1,4 +1,5 @@
> /* { dg-require-effective-target alloca } */
> +/* { dg-additional-options "-fpermissive" } */
> int N = 1;
> void foo() {} /* Necessary to trigger the original ICE. */
> void bar (char a[2][N]) { a[1][0] = N; }
> diff --git a/gcc/testsuite/gcc.c-torture/execute/pr55875.c b/gcc/testsuite/gcc.c-torture/execute/pr55875.c
> index 4e56f7c26c1..2ed1e19d507 100644
> --- a/gcc/testsuite/gcc.c-torture/execute/pr55875.c
> +++ b/gcc/testsuite/gcc.c-torture/execute/pr55875.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> int a[251];
> __attribute__ ((noinline))
> t(int i)
> diff --git a/gcc/testsuite/gcc.dg/20050629-1.c b/gcc/testsuite/gcc.dg/20050629-1.c
> index 99d9ce823b0..cd7ab5d7dbf 100644
> --- a/gcc/testsuite/gcc.dg/20050629-1.c
> +++ b/gcc/testsuite/gcc.dg/20050629-1.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -w" } */
> +/* { dg-options "-O2 -w -fpermissive" } */
> /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
>
> /* This file was automatically reduced from tree-ssa-operands.c. It
> diff --git a/gcc/testsuite/gcc.dg/20080615-1.c b/gcc/testsuite/gcc.dg/20080615-1.c
> index bce9476cddb..1c35b8e8ca1 100644
> --- a/gcc/testsuite/gcc.dg/20080615-1.c
> +++ b/gcc/testsuite/gcc.dg/20080615-1.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-w -O2" } */
> +/* { dg-options "-w -fpermissive -O2" } */
>
> static int *see_bb_splay_ar = ((void *) 0);
> static void
> diff --git a/gcc/testsuite/gcc.dg/Walloca-14.c b/gcc/testsuite/gcc.dg/Walloca-14.c
> index 51362b2d6be..554587c051b 100644
> --- a/gcc/testsuite/gcc.dg/Walloca-14.c
> +++ b/gcc/testsuite/gcc.dg/Walloca-14.c
> @@ -4,6 +4,7 @@
> /* { dg-skip-if "small address space" { "pdp11-*-*" } } */
> /* { dg-options "-O2 -Walloca-larger-than=126812070" { target ptr32plus } } */
> /* { dg-options "-O2 -Walloca-larger-than=12070" { target { ! ptr32plus } } } */
> +/* { dg-additional-options "-fpermissive" } */
>
> void
> g (int *p)
> diff --git a/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-3.c b/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-3.c
> index f2ec3259546..bc652793323 100644
> --- a/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-3.c
> +++ b/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-3.c
> @@ -1,7 +1,7 @@
> /* PR c/83656 - missing -Wbuiltin-declaration-mismatch on declaration
> without prototype
> { dg-do compile }
> - { dg-options "-Wbuiltin-declaration-mismatch" } */
> + { dg-options "-fpermissive -Wbuiltin-declaration-mismatch" } */
>
> typedef __SIZE_TYPE__ size_t;
>
> diff --git a/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-9.c b/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-9.c
> index 82db8fe33d1..6a7b09f887c 100644
> --- a/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-9.c
> +++ b/gcc/testsuite/gcc.dg/Wbuiltin-declaration-mismatch-9.c
> @@ -1,6 +1,6 @@
> /* PR c/88886 - ice in get_constant, at c-family/c-format.c:292
> { dg-do compile }
> - { dg-options "-Wall" } */
> + { dg-options "-fpermissive -Wall" } */
>
> int sscanf (long, unsigned[], ...); /* { dg-warning "conflicting types for built-in function .sscanf.; expected .int\\\(const char \\\*, const char \\\*, ...\\\)." } */
>
> diff --git a/gcc/testsuite/gcc.dg/Wdouble-promotion.c b/gcc/testsuite/gcc.dg/Wdouble-promotion.c
> index d7a61899f7f..0ad77915d8a 100644
> --- a/gcc/testsuite/gcc.dg/Wdouble-promotion.c
> +++ b/gcc/testsuite/gcc.dg/Wdouble-promotion.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-Wdouble-promotion" } */
> +/* { dg-options "-fpermissive -Wdouble-promotion" } */
>
> #include <stddef.h>
>
> diff --git a/gcc/testsuite/gcc.dg/Wrestrict-5.c b/gcc/testsuite/gcc.dg/Wrestrict-5.c
> index 21e190129e4..4ea9176f1f5 100644
> --- a/gcc/testsuite/gcc.dg/Wrestrict-5.c
> +++ b/gcc/testsuite/gcc.dg/Wrestrict-5.c
> @@ -4,7 +4,7 @@
> functions declared with no prototype are checked for overlap, and that
> invalid calls are ignored.
> { dg-do compile }
> - { dg-options "-O2 -Wrestrict" } */
> + { dg-options "-O2 -fpermissive -Wrestrict" } */
>
> void* memcpy ();
> char* strncpy ();
> diff --git a/gcc/testsuite/gcc.dg/Wstringop-overflow-13.c b/gcc/testsuite/gcc.dg/Wstringop-overflow-13.c
> index bd513151cea..021eaae335d 100644
> --- a/gcc/testsuite/gcc.dg/Wstringop-overflow-13.c
> +++ b/gcc/testsuite/gcc.dg/Wstringop-overflow-13.c
> @@ -3,7 +3,7 @@
> PR middle-end/89911 - ICE on a call with no arguments to strnlen
> declared with no prototype
> { dg-do compile }
> - { dg-options "-O2 -Wall" } */
> + { dg-options "-O2 -fpermissive -Wall" } */
>
> typedef __SIZE_TYPE__ size_t;
>
> diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107783.c b/gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107783.c
> index 36304179b43..8055e55f5c5 100644
> --- a/gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107783.c
> +++ b/gcc/testsuite/gcc.dg/analyzer/fd-bind-pr107783.c
> @@ -1,3 +1,5 @@
> +/* { dg-additional-options "-fpermissive" } */
> +
> int
> foo (void)
> {
> diff --git a/gcc/testsuite/gcc.dg/array-5.c b/gcc/testsuite/gcc.dg/array-5.c
> index 4083c92ffc9..1890a998ca6 100644
> --- a/gcc/testsuite/gcc.dg/array-5.c
> +++ b/gcc/testsuite/gcc.dg/array-5.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "" } */
> +/* { dg-options "-fpermissive" } */
>
> /* Check compatibility of array declarations. */
>
> diff --git a/gcc/testsuite/gcc.dg/asan/pr56417.c b/gcc/testsuite/gcc.dg/asan/pr56417.c
> index b7eabf125aa..010651ef653 100644
> --- a/gcc/testsuite/gcc.dg/asan/pr56417.c
> +++ b/gcc/testsuite/gcc.dg/asan/pr56417.c
> @@ -1,6 +1,6 @@
> /* PR sanitizer/56417 */
> /* { dg-do compile } */
> -/* { dg-options "-w" } */
> +/* { dg-options "-fpermissive -w" } */
>
> int
> foo (void)
> diff --git a/gcc/testsuite/gcc.dg/attr-access-read-only.c b/gcc/testsuite/gcc.dg/attr-access-read-only.c
> index 71175d05ca5..0763bf6439e 100644
> --- a/gcc/testsuite/gcc.dg/attr-access-read-only.c
> +++ b/gcc/testsuite/gcc.dg/attr-access-read-only.c
> @@ -2,7 +2,7 @@
> for buffer and its size
> Test to verify the handling of attribute access (read_only) syntax.
> { dg-do compile }
> - { dg-options "-Wall -ftrack-macro-expansion=0" } */
> + { dg-options "-fpermissive -Wall -ftrack-macro-expansion=0" } */
>
> int __attribute__ ((access))
> access_v (void); // { dg-error "wrong number of arguments specified for 'access' attribute" }
> diff --git a/gcc/testsuite/gcc.dg/attr-access-read-write.c b/gcc/testsuite/gcc.dg/attr-access-read-write.c
> index 849d9f1cf67..c0d78b5e605 100644
> --- a/gcc/testsuite/gcc.dg/attr-access-read-write.c
> +++ b/gcc/testsuite/gcc.dg/attr-access-read-write.c
> @@ -1,7 +1,7 @@
> /* PR middle-end/83859 - attribute to establish relation between parameters
> for buffer and its size
> { dg-do compile }
> - { dg-options "-Wall -ftrack-macro-expansion=0" } */
> + { dg-options "-fpermissive -Wall -ftrack-macro-expansion=0" } */
>
> int __attribute__ ((access))
> access_v (void); /* { dg-error "wrong number of arguments specified for 'access' attribute" } */
> diff --git a/gcc/testsuite/gcc.dg/attr-access-write-only.c b/gcc/testsuite/gcc.dg/attr-access-write-only.c
> index 2718b0db456..7bf30cc8b52 100644
> --- a/gcc/testsuite/gcc.dg/attr-access-write-only.c
> +++ b/gcc/testsuite/gcc.dg/attr-access-write-only.c
> @@ -2,7 +2,7 @@
> for buffer and its size
> Test to verify the handling of attribute access (write_only) syntax.
> { dg-do compile }
> - { dg-options "-Wall -ftrack-macro-expansion=0" } */
> + { dg-options "-fpermissive -Wall -ftrack-macro-expansion=0" } */
>
> int __attribute__ ((access))
> access_v (void); // { dg-error "wrong number of arguments specified for 'access' attribute" }
> diff --git a/gcc/testsuite/gcc.dg/bitint-36.c b/gcc/testsuite/gcc.dg/bitint-36.c
> index a1358e13b8c..692b16d06c9 100644
> --- a/gcc/testsuite/gcc.dg/bitint-36.c
> +++ b/gcc/testsuite/gcc.dg/bitint-36.c
> @@ -1,6 +1,6 @@
> /* PR c/102989 */
> /* { dg-do compile { target { bitint } } } */
> -/* { dg-options "-std=c23 -Wint-in-bool-context -Waddress -Wpointer-to-int-cast -Wint-to-pointer-cast -Wint-conversion -Wshift-negative-value -Wshift-count-overflow -Wdiv-by-zero" } */
> +/* { dg-options "-std=c23 -fpermissive -Wint-in-bool-context -Waddress -Wpointer-to-int-cast -Wint-to-pointer-cast -Wint-conversion -Wshift-negative-value -Wshift-count-overflow -Wdiv-by-zero" } */
>
> extern char *ax[];
>
> diff --git a/gcc/testsuite/gcc.dg/builtin-bswap-10.c b/gcc/testsuite/gcc.dg/builtin-bswap-10.c
> index 6c69bcd70d8..cd49fe08d1d 100644
> --- a/gcc/testsuite/gcc.dg/builtin-bswap-10.c
> +++ b/gcc/testsuite/gcc.dg/builtin-bswap-10.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile { target { ! int128 } } } */
> -/* { dg-options "" } */
> +/* { dg-options "-fpermissive" } */
> /* { dg-final { scan-assembler "__builtin_" } } */
>
> int foo (int x)
> diff --git a/gcc/testsuite/gcc.dg/cleanup-1.c b/gcc/testsuite/gcc.dg/cleanup-1.c
> index 48b82646e48..c622a62a4ad 100644
> --- a/gcc/testsuite/gcc.dg/cleanup-1.c
> +++ b/gcc/testsuite/gcc.dg/cleanup-1.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-Wall" } */
> +/* { dg-options "-fpermissive -Wall" } */
> /* Validate expected warnings and errors. */
>
> #define U __attribute__((unused))
> diff --git a/gcc/testsuite/gcc.dg/cpp/pr60014-1.c b/gcc/testsuite/gcc.dg/cpp/pr60014-1.c
> index de52b30c161..1c9b5ad19af 100644
> --- a/gcc/testsuite/gcc.dg/cpp/pr60014-1.c
> +++ b/gcc/testsuite/gcc.dg/cpp/pr60014-1.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-save-temps -Wint-conversion" } */
> +/* { dg-options "-fpermissive -save-temps -Wint-conversion" } */
> #include "pr60014-1.h"
> int main ()
> {
> diff --git a/gcc/testsuite/gcc.dg/cpp/pr60014-2.c b/gcc/testsuite/gcc.dg/cpp/pr60014-2.c
> index 115c9858ec7..d9fe81c1f5e 100644
> --- a/gcc/testsuite/gcc.dg/cpp/pr60014-2.c
> +++ b/gcc/testsuite/gcc.dg/cpp/pr60014-2.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-save-temps -Wint-conversion" } */
> +/* { dg-options "-save-temps -fpermissive -Wint-conversion" } */
> #include "pr60014-2.h"
> X
> char *should_warn = 1; /* { dg-warning {-Wint-conversion} } */
> diff --git a/gcc/testsuite/gcc.dg/cpp/pr60014-3.c b/gcc/testsuite/gcc.dg/cpp/pr60014-3.c
> index c4306035f05..86545a6ae43 100644
> --- a/gcc/testsuite/gcc.dg/cpp/pr60014-3.c
> +++ b/gcc/testsuite/gcc.dg/cpp/pr60014-3.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-save-temps -Wint-conversion" } */
> +/* { dg-options "-save-temps -fpermissive -Wint-conversion" } */
> #include "pr60014-3.h"
>
> /* The line continuation on the next line is what triggers the problem here,
> diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-1.c b/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-1.c
> index 2ec5fe54f55..7b920ca539a 100644
> --- a/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-1.c
> +++ b/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-1.c
> @@ -1,5 +1,5 @@
> /* { dg-do run } */
> -/* { dg-options "-O2 -w -fipa-bit-cp" } */
> +/* { dg-options "-fpermissive -O2 -w -fipa-bit-cp" } */
> static int
> __attribute__ ((noinline))
> test (int a)
> diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-2.c b/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-2.c
> index 42ce346948c..3a2c9c8adb3 100644
> --- a/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-2.c
> +++ b/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp-2.c
> @@ -1,5 +1,5 @@
> /* { dg-do run } */
> -/* { dg-options "-O2 -w -fipa-bit-cp" } */
> +/* { dg-options "-fpermissive -O2 -w -fipa-bit-cp" } */
> static int
> __attribute__ ((noinline))
> test (int __attribute__((unused)) b, int a)
> diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp.c b/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp.c
> index 2ec5fe54f55..7b920ca539a 100644
> --- a/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp.c
> +++ b/gcc/testsuite/gcc.dg/ipa/ipa-bit-cp.c
> @@ -1,5 +1,5 @@
> /* { dg-do run } */
> -/* { dg-options "-O2 -w -fipa-bit-cp" } */
> +/* { dg-options "-fpermissive -O2 -w -fipa-bit-cp" } */
> static int
> __attribute__ ((noinline))
> test (int a)
> diff --git a/gcc/testsuite/gcc.dg/ipa/pr105639.c b/gcc/testsuite/gcc.dg/ipa/pr105639.c
> index 5534fe93fbf..93bf037720a 100644
> --- a/gcc/testsuite/gcc.dg/ipa/pr105639.c
> +++ b/gcc/testsuite/gcc.dg/ipa/pr105639.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O -w" } */
> +/* { dg-options "-fpermissive -O -w" } */
>
> void typedef (*cb) (void);
>
> diff --git a/gcc/testsuite/gcc.dg/ipa/pr71981.c b/gcc/testsuite/gcc.dg/ipa/pr71981.c
> index 1b2160246e8..eddc8c851d6 100644
> --- a/gcc/testsuite/gcc.dg/ipa/pr71981.c
> +++ b/gcc/testsuite/gcc.dg/ipa/pr71981.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -w" } */
> +/* { dg-options "-fpermissive -O2 -w" } */
>
> int **a;
> static void fn1(char **p1) {
> diff --git a/gcc/testsuite/gcc.dg/lto/20081109_0.c b/gcc/testsuite/gcc.dg/lto/20081109_0.c
> index eaa25f673d3..78a73c0d750 100644
> --- a/gcc/testsuite/gcc.dg/lto/20081109_0.c
> +++ b/gcc/testsuite/gcc.dg/lto/20081109_0.c
> @@ -1,3 +1,3 @@
> /* { dg-lto-do assemble } */
> -/* { dg-lto-options {{-w -flto}} } */
> +/* { dg-lto-options {{-fpermissive -w -flto}} } */
> void Foo(void) { char bar[1]; free(bar); }
> diff --git a/gcc/testsuite/gcc.dg/lto/pr54702_1.c b/gcc/testsuite/gcc.dg/lto/pr54702_1.c
> index 2afb0fbc063..c304682e92f 100644
> --- a/gcc/testsuite/gcc.dg/lto/pr54702_1.c
> +++ b/gcc/testsuite/gcc.dg/lto/pr54702_1.c
> @@ -1,3 +1,4 @@
> +/* { dg-options "-fpermissive" } */
> int *b;
> void *d;
> int c;
> diff --git a/gcc/testsuite/gcc.dg/lto/pr55525_0.c b/gcc/testsuite/gcc.dg/lto/pr55525_0.c
> index d8d16d11d32..5976a935ab3 100644
> --- a/gcc/testsuite/gcc.dg/lto/pr55525_0.c
> +++ b/gcc/testsuite/gcc.dg/lto/pr55525_0.c
> @@ -1,5 +1,5 @@
> /* { dg-lto-do link } */
> -/* { dg-lto-options { { -fcommon -flto -w } } } */
> +/* { dg-lto-options { { -fpermissive -fcommon -flto -w } } } */
>
> char s[sizeof (char *)];
> int main(void)
> diff --git a/gcc/testsuite/gcc.dg/noncompile/20020213-1.c b/gcc/testsuite/gcc.dg/noncompile/20020213-1.c
> index fa86e4789ff..28b158eda71 100644
> --- a/gcc/testsuite/gcc.dg/noncompile/20020213-1.c
> +++ b/gcc/testsuite/gcc.dg/noncompile/20020213-1.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> /* PR c/5503
> Test whether argument checking is done for fputs, bzero and bcmp. */
> typedef struct { int i; } FILE;
> diff --git a/gcc/testsuite/gcc.dg/noncompile/pr71426.c b/gcc/testsuite/gcc.dg/noncompile/pr71426.c
> index 874e18976e9..fe2f2f65c64 100644
> --- a/gcc/testsuite/gcc.dg/noncompile/pr71426.c
> +++ b/gcc/testsuite/gcc.dg/noncompile/pr71426.c
> @@ -1,5 +1,5 @@
> /* PR c/71426 */
> /* { dg-do compile } */
> -/* { dg-options "-w" } */
> +/* { dg-options "-fpermissive -w" } */
>
> int f (int x[x - x ()]); /* { dg-error "undeclared" } */
> diff --git a/gcc/testsuite/gcc.dg/noncompile/undeclared-1.c b/gcc/testsuite/gcc.dg/noncompile/undeclared-1.c
> index 5bb7c2a4df9..0131ef50ee9 100644
> --- a/gcc/testsuite/gcc.dg/noncompile/undeclared-1.c
> +++ b/gcc/testsuite/gcc.dg/noncompile/undeclared-1.c
> @@ -1,6 +1,6 @@
> /* Test for no ICE with an undeclared identifier in an enum in old-style
> parameter decls. PR 12560. */
> -/* { dg-options "-w" } */
> +/* { dg-options "-fpermissive -w" } */
>
> foo(c)
> enum { a = b } c; /* { dg-error "undeclared|for each" } */
> diff --git a/gcc/testsuite/gcc.dg/overflow-warn-2.c b/gcc/testsuite/gcc.dg/overflow-warn-2.c
> index 9232800fb2e..b3b7dbbb7e7 100644
> --- a/gcc/testsuite/gcc.dg/overflow-warn-2.c
> +++ b/gcc/testsuite/gcc.dg/overflow-warn-2.c
> @@ -1,7 +1,7 @@
> /* Test for diagnostics for constant overflow. Test with -Wtraditional-conversion. */
> /* Origin: Joseph Myers <joseph@codesourcery.com> */
> /* { dg-do compile } */
> -/* { dg-options "-std=c99 -Wtraditional-conversion" } */
> +/* { dg-options "-std=c99 -fpermissive -Wtraditional-conversion" } */
>
> #include <limits.h>
>
> diff --git a/gcc/testsuite/gcc.dg/pr100142.c b/gcc/testsuite/gcc.dg/pr100142.c
> index aec146cb0a9..fef271a2d23 100644
> --- a/gcc/testsuite/gcc.dg/pr100142.c
> +++ b/gcc/testsuite/gcc.dg/pr100142.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-fpreprocessed" } */
> +/* { dg-options "-fpermissive -fpreprocessed" } */
>
> void
> foo (void)
> diff --git a/gcc/testsuite/gcc.dg/pr100790.c b/gcc/testsuite/gcc.dg/pr100790.c
> index 31e0effdea2..3e00c1b6ced 100644
> --- a/gcc/testsuite/gcc.dg/pr100790.c
> +++ b/gcc/testsuite/gcc.dg/pr100790.c
> @@ -1,4 +1,4 @@
> // { dg-do compile }
> -// { dg-options "-O2 -w" }
> +// { dg-options "-fpermissive -O2 -w" }
>
> __builtin_clz(int x) { x ? __builtin_clz(x) : 32; }
> diff --git a/gcc/testsuite/gcc.dg/pr100791.c b/gcc/testsuite/gcc.dg/pr100791.c
> index 96cf34f14a4..00cc4b185a3 100644
> --- a/gcc/testsuite/gcc.dg/pr100791.c
> +++ b/gcc/testsuite/gcc.dg/pr100791.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "" } */
> +/* { dg-options "-fpermissive" } */
>
> static inline int __attribute__((__always_inline__))
> foo ()
> diff --git a/gcc/testsuite/gcc.dg/pr103093.c b/gcc/testsuite/gcc.dg/pr103093.c
> index f42572147ad..36ec1b9d098 100644
> --- a/gcc/testsuite/gcc.dg/pr103093.c
> +++ b/gcc/testsuite/gcc.dg/pr103093.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2" } */
> +/* { dg-options "-fpermissive -O2" } */
>
> int i_0, c_4, uc_7, func_2_c_11;
>
> diff --git a/gcc/testsuite/gcc.dg/pr105140.c b/gcc/testsuite/gcc.dg/pr105140.c
> index 7d30985e850..173dc8c2fac 100644
> --- a/gcc/testsuite/gcc.dg/pr105140.c
> +++ b/gcc/testsuite/gcc.dg/pr105140.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-Os -w -Wno-psabi" } */
> +/* { dg-options "-fpermissive -Os -w -Wno-psabi" } */
> /* { dg-skip-if "PR105147" { powerpc*-*-* s390*-*-* } } */
>
> typedef char __attribute__((__vector_size__ (16 * sizeof (char)))) U;
> diff --git a/gcc/testsuite/gcc.dg/pr105250.c b/gcc/testsuite/gcc.dg/pr105250.c
> index 4683e0e63a2..c4f4ea0c3d7 100644
> --- a/gcc/testsuite/gcc.dg/pr105250.c
> +++ b/gcc/testsuite/gcc.dg/pr105250.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-w -Wno-psabi -O2" } */
> +/* { dg-options "-fpermissive -w -Wno-psabi -O2" } */
> /* { dg-skip-if "PR105266" { powerpc*-*-* s390*-*-* } } */
>
> typedef int __attribute__((__vector_size__(4))) T;
> diff --git a/gcc/testsuite/gcc.dg/pr105853.c b/gcc/testsuite/gcc.dg/pr105853.c
> index 4f234ac11d9..c0a86ee6a19 100644
> --- a/gcc/testsuite/gcc.dg/pr105853.c
> +++ b/gcc/testsuite/gcc.dg/pr105853.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2" } */
> +/* { dg-options "-fpermissive -O2" } */
>
> struct {
> struct {
> diff --git a/gcc/testsuite/gcc.dg/pr105856.c b/gcc/testsuite/gcc.dg/pr105856.c
> index dd3aa2f18c0..c8f0851599d 100644
> --- a/gcc/testsuite/gcc.dg/pr105856.c
> +++ b/gcc/testsuite/gcc.dg/pr105856.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2" } */
> +/* { dg-options "-fpermissive -O2" } */
> #pragma pack(1)
> struct {
> unsigned f0;
> diff --git a/gcc/testsuite/gcc.dg/pr26865.c b/gcc/testsuite/gcc.dg/pr26865.c
> index f49d1d29f9c..e62030f60ab 100644
> --- a/gcc/testsuite/gcc.dg/pr26865.c
> +++ b/gcc/testsuite/gcc.dg/pr26865.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -std=c99" } */
> +/* { dg-options "-fpermissive -O2 -std=c99" } */
>
> void
> foo (void)
> diff --git a/gcc/testsuite/gcc.dg/pr40989.c b/gcc/testsuite/gcc.dg/pr40989.c
> index 0fbc87082d3..95392585a6a 100644
> --- a/gcc/testsuite/gcc.dg/pr40989.c
> +++ b/gcc/testsuite/gcc.dg/pr40989.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-Werror=implicit" } */
> +/* { dg-options "-fpermissive -Werror=implicit" } */
> int main() {
> return pippo(); /* { dg-error "" } */
> }
> diff --git a/gcc/testsuite/gcc.dg/pr42715.c b/gcc/testsuite/gcc.dg/pr42715.c
> index 72bdfc86244..09237c6a4a3 100644
> --- a/gcc/testsuite/gcc.dg/pr42715.c
> +++ b/gcc/testsuite/gcc.dg/pr42715.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile { target fpic } } */
> -/* { dg-options "-fPIC -g -O2 -w" } */
> +/* { dg-options "-fPIC -g -O2 -fpermissive -w" } */
> /* var-tracking failed to clobber the reg holding v at the asm insn,
> so v ended up bound to an intermediate PIC expression. */
>
> diff --git a/gcc/testsuite/gcc.dg/pr44971.c b/gcc/testsuite/gcc.dg/pr44971.c
> index a1faef51be1..5cd314c2665 100644
> --- a/gcc/testsuite/gcc.dg/pr44971.c
> +++ b/gcc/testsuite/gcc.dg/pr44971.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fcompare-debug -w" } */
> +/* { dg-options "-O2 -fpermissive -fcompare-debug -w" } */
>
> typedef struct
> {
> diff --git a/gcc/testsuite/gcc.dg/pr46571.c b/gcc/testsuite/gcc.dg/pr46571.c
> index 435812210ea..393025b65dd 100644
> --- a/gcc/testsuite/gcc.dg/pr46571.c
> +++ b/gcc/testsuite/gcc.dg/pr46571.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fcompare-debug -w" } */
> +/* { dg-options "-O2 -fpermissive -fcompare-debug -w" } */
>
> typedef union tree_node *tree;
> typedef unsigned int source_location;
> diff --git a/gcc/testsuite/gcc.dg/pr54363.c b/gcc/testsuite/gcc.dg/pr54363.c
> index aea0f9057b0..bea284ac975 100644
> --- a/gcc/testsuite/gcc.dg/pr54363.c
> +++ b/gcc/testsuite/gcc.dg/pr54363.c
> @@ -1,6 +1,6 @@
> /* PR c/54363 */
> /* { dg-do compile } */
> -/* { dg-options "-std=gnu99" } */
> +/* { dg-options "-fpermissive -std=gnu99" } */
>
> struct S { char **a; };
>
> diff --git a/gcc/testsuite/gcc.dg/pr56724-2.c b/gcc/testsuite/gcc.dg/pr56724-2.c
> index 4abb7d899e7..db6b452ad20 100644
> --- a/gcc/testsuite/gcc.dg/pr56724-2.c
> +++ b/gcc/testsuite/gcc.dg/pr56724-2.c
> @@ -1,6 +1,6 @@
> /* PR c/56724 */
> /* { dg-do compile } */
> -/* { dg-options "-Wc++-compat -Wpedantic" } */
> +/* { dg-options "-fpermissive -Wc++-compat -Wpedantic" } */
>
> enum E1 { A };
> enum E2 { B };
> diff --git a/gcc/testsuite/gcc.dg/pr59630.c b/gcc/testsuite/gcc.dg/pr59630.c
> index 6a3c72552f5..693e2b9c18e 100644
> --- a/gcc/testsuite/gcc.dg/pr59630.c
> +++ b/gcc/testsuite/gcc.dg/pr59630.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O" } */
> +/* { dg-options "-fpermissive -O" } */
>
> _Bool foo()
> {
> diff --git a/gcc/testsuite/gcc.dg/pr67043.c b/gcc/testsuite/gcc.dg/pr67043.c
> index 36aa68673f1..746fb971793 100644
> --- a/gcc/testsuite/gcc.dg/pr67043.c
> +++ b/gcc/testsuite/gcc.dg/pr67043.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O3 -fcompare-debug -w" } */
> +/* { dg-options "-O3 -fcompare-debug -fpermissive -w" } */
>
> extern void rt_mutex_owner (void);
> extern void rt_mutex_deadlock_account_lock (int);
> diff --git a/gcc/testsuite/gcc.dg/pr67730-1.c b/gcc/testsuite/gcc.dg/pr67730-1.c
> index bb82f6d8e85..2e1f5b51ffc 100644
> --- a/gcc/testsuite/gcc.dg/pr67730-1.c
> +++ b/gcc/testsuite/gcc.dg/pr67730-1.c
> @@ -1,6 +1,6 @@
> /* PR c/67730 */
> /* { dg-do compile } */
> -/* { dg-options "-Wc++-compat" } */
> +/* { dg-options "-Wc++-compat -fpermissive" } */
>
> #include "pr67730.h"
>
> diff --git a/gcc/testsuite/gcc.dg/pr67730-2.c b/gcc/testsuite/gcc.dg/pr67730-2.c
> index 260cc3e3821..b21555cf6aa 100644
> --- a/gcc/testsuite/gcc.dg/pr67730-2.c
> +++ b/gcc/testsuite/gcc.dg/pr67730-2.c
> @@ -1,6 +1,6 @@
> /* PR c/67730 */
> /* { dg-do compile } */
> -/* { dg-options "" } */
> +/* { dg-options "-fpermissive" } */
>
> #include "pr67730.h"
>
> diff --git a/gcc/testsuite/gcc.dg/pr68320.c b/gcc/testsuite/gcc.dg/pr68320.c
> index 5d891b9bb1e..6f22f0a68d9 100644
> --- a/gcc/testsuite/gcc.dg/pr68320.c
> +++ b/gcc/testsuite/gcc.dg/pr68320.c
> @@ -1,6 +1,6 @@
> /* PR c/68320 */
> /* { dg-do compile } */
> -/* { dg-options "" } */
> +/* { dg-options "-fpermissive" } */
>
> void
> fn1 (void)
> diff --git a/gcc/testsuite/gcc.dg/pr69156.c b/gcc/testsuite/gcc.dg/pr69156.c
> index 522ac00be46..5740971383c 100644
> --- a/gcc/testsuite/gcc.dg/pr69156.c
> +++ b/gcc/testsuite/gcc.dg/pr69156.c
> @@ -1,6 +1,6 @@
> /* PR tree-optimization/69156 */
> /* { dg-do compile } */
> -/* { dg-options "-O1 -fno-tree-ccp" } */
> +/* { dg-options "-fpermissive -O1 -fno-tree-ccp" } */
>
> _Bool
> foo ()
> diff --git a/gcc/testsuite/gcc.dg/pr69824.c b/gcc/testsuite/gcc.dg/pr69824.c
> index e2913f8f3d0..899bed34097 100644
> --- a/gcc/testsuite/gcc.dg/pr69824.c
> +++ b/gcc/testsuite/gcc.dg/pr69824.c
> @@ -1,4 +1,4 @@
> /* { dg-do compile } */
> -/* { dg-options "-w" } */
> +/* { dg-options "-fpermissive -w" } */
> int bar() { return foo(); }
> void baz(int c[foo()]) { return; }
> diff --git a/gcc/testsuite/gcc.dg/pr70174.c b/gcc/testsuite/gcc.dg/pr70174.c
> index 59d231e1623..275ba36185d 100644
> --- a/gcc/testsuite/gcc.dg/pr70174.c
> +++ b/gcc/testsuite/gcc.dg/pr70174.c
> @@ -1,6 +1,6 @@
> /* PR rtl-optimization/70174 */
> /* { dg-do compile } */
> -/* { dg-options "-O2" } */
> +/* { dg-options "-fpermissive -O2" } */
>
> struct S { int f : 4; } a;
>
> diff --git a/gcc/testsuite/gcc.dg/pr70281.c b/gcc/testsuite/gcc.dg/pr70281.c
> index 9447fb1f2a8..7d408545452 100644
> --- a/gcc/testsuite/gcc.dg/pr70281.c
> +++ b/gcc/testsuite/gcc.dg/pr70281.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-Wall -fdiagnostics-show-caret" } */
> +/* { dg-options "-fpermissive -Wall -fdiagnostics-show-caret" } */
> int bch_stats_show ()
> {
> return __builtin_types_compatible_p (unsigned, int) ? "" : ""; /* { dg-warning "cast" } */
> diff --git a/gcc/testsuite/gcc.dg/pr77862.c b/gcc/testsuite/gcc.dg/pr77862.c
> index a048cb4a74f..3ff8d082ef7 100644
> --- a/gcc/testsuite/gcc.dg/pr77862.c
> +++ b/gcc/testsuite/gcc.dg/pr77862.c
> @@ -2,7 +2,7 @@
> /* PR tree-optimization/77862 */
> /* { dg-do compile } */
> /* { dg-require-effective-target fpic } */
> -/* { dg-options "-O2 -fPIC -w" } */
> +/* { dg-options "-fpermissive -O2 -fPIC -w" } */
>
> struct paramed_type
> {
> diff --git a/gcc/testsuite/gcc.dg/pr82765.c b/gcc/testsuite/gcc.dg/pr82765.c
> index dde0aeba7ef..03534b0cbd5 100644
> --- a/gcc/testsuite/gcc.dg/pr82765.c
> +++ b/gcc/testsuite/gcc.dg/pr82765.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-Os -w" } */
> +/* { dg-options "-fpermissive -Os -w" } */
>
> int a[1][1];
> int main() { int *b[] = {a, a[1820408606019012862278468], a, a, a}; }
> diff --git a/gcc/testsuite/gcc.dg/pr83852.c b/gcc/testsuite/gcc.dg/pr83852.c
> index 68ef78b8e10..602cc591d27 100644
> --- a/gcc/testsuite/gcc.dg/pr83852.c
> +++ b/gcc/testsuite/gcc.dg/pr83852.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
> -/* { dg-options "-std=gnu99 -O2 -fselective-scheduling -fno-if-conversion -fno-tree-dse -w" } */
> +/* { dg-options "-std=gnu99 -fpermissive -O2 -fselective-scheduling -fno-if-conversion -fno-tree-dse -w" } */
> long long int uo;
> unsigned int vt;
>
> diff --git a/gcc/testsuite/gcc.dg/pr84206.c b/gcc/testsuite/gcc.dg/pr84206.c
> index b4ac9c24c78..424f474e3b8 100644
> --- a/gcc/testsuite/gcc.dg/pr84206.c
> +++ b/gcc/testsuite/gcc.dg/pr84206.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
> -/* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fno-forward-propagate -fno-tree-fre -w" } */
> +/* { dg-options "-fpermissive -O2 -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fno-forward-propagate -fno-tree-fre -w" } */
>
> long long unsigned int ao;
> int hk;
> diff --git a/gcc/testsuite/gcc.dg/pr85164-1.c b/gcc/testsuite/gcc.dg/pr85164-1.c
> index 4c5995e8875..1594dbc46b3 100644
> --- a/gcc/testsuite/gcc.dg/pr85164-1.c
> +++ b/gcc/testsuite/gcc.dg/pr85164-1.c
> @@ -1,4 +1,4 @@
> -/* { dg-options "-O2 -w" } */
> +/* { dg-options "-fpermissive -O2 -w" } */
> a[];
> b;
> c() {
> diff --git a/gcc/testsuite/gcc.dg/pr85955.c b/gcc/testsuite/gcc.dg/pr85955.c
> index 7f67f62dce6..4c15ff40604 100644
> --- a/gcc/testsuite/gcc.dg/pr85955.c
> +++ b/gcc/testsuite/gcc.dg/pr85955.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -w" } */
> +/* { dg-options "-fpermissive -O2 -w" } */
>
> extern void sincos(double x, double *sinx, double *cosx);
> void apply(void (*f)(double, double *, double *),
> diff --git a/gcc/testsuite/gcc.dg/pr86271.c b/gcc/testsuite/gcc.dg/pr86271.c
> index 1200533d4d9..f020c1b1e2f 100644
> --- a/gcc/testsuite/gcc.dg/pr86271.c
> +++ b/gcc/testsuite/gcc.dg/pr86271.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2" } */
> +/* { dg-options "-fpermissive -O2" } */
>
> int main ()
> {
> diff --git a/gcc/testsuite/gcc.dg/pr86928.c b/gcc/testsuite/gcc.dg/pr86928.c
> index 46b7644836c..1e56b2970ff 100644
> --- a/gcc/testsuite/gcc.dg/pr86928.c
> +++ b/gcc/testsuite/gcc.dg/pr86928.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
> -/* { dg-options "-O2 -fnon-call-exceptions -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling -fno-if-conversion -fno-tree-dce -w" } */
> +/* { dg-options "-fpermissive -O2 -fnon-call-exceptions -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling -fno-if-conversion -fno-tree-dce -w" } */
>
> int kn;
>
> diff --git a/gcc/testsuite/gcc.dg/pr99122-1.c b/gcc/testsuite/gcc.dg/pr99122-1.c
> index 5dfc0a85ad4..d535bdd7173 100644
> --- a/gcc/testsuite/gcc.dg/pr99122-1.c
> +++ b/gcc/testsuite/gcc.dg/pr99122-1.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -g -w" } */
> +/* { dg-options "-O2 -fpermissive -g -w" } */
>
> void f ()
> {
> diff --git a/gcc/testsuite/gcc.dg/pr99136.c b/gcc/testsuite/gcc.dg/pr99136.c
> index 1bd8446811b..cd1cc1ba5a7 100644
> --- a/gcc/testsuite/gcc.dg/pr99136.c
> +++ b/gcc/testsuite/gcc.dg/pr99136.c
> @@ -1,6 +1,6 @@
> /* PR c/99136 */
> /* { dg-do compile } */
> -/* { dg-options "-w -fexcess-precision=standard" } */
> +/* { dg-options "-fpermissive -w -fexcess-precision=standard" } */
>
> void
> foo (double x)
> diff --git a/gcc/testsuite/gcc.dg/redecl-19.c b/gcc/testsuite/gcc.dg/redecl-19.c
> index cc10685448b..08e1146cae4 100644
> --- a/gcc/testsuite/gcc.dg/redecl-19.c
> +++ b/gcc/testsuite/gcc.dg/redecl-19.c
> @@ -1,5 +1,5 @@
> /* We used to ICE in the gimplifier, PR 106764 */
> /* { dg-do compile } */
> -/* { dg-options "-w" } */
> +/* { dg-options "-fpermissive -w" } */
> (*a)(); // { dg-note "" }
> b(){a()} a; // { dg-error "" }
> diff --git a/gcc/testsuite/gcc.dg/redecl-24.c b/gcc/testsuite/gcc.dg/redecl-24.c
> index f0f7a723ab8..c895df94c90 100644
> --- a/gcc/testsuite/gcc.dg/redecl-24.c
> +++ b/gcc/testsuite/gcc.dg/redecl-24.c
> @@ -1,6 +1,6 @@
> /* We used to ICE in the gimplifier, PR 106560 */
> /* { dg-do compile } */
> -/* { dg-options "-w" } */
> +/* { dg-options "-fpermissive -w" } */
> void **a, **b; /* { dg-note "" } */
> c(){b = a;}
> a = /* { dg-error "" } */
> diff --git a/gcc/testsuite/gcc.dg/torture/pr39204.c b/gcc/testsuite/gcc.dg/torture/pr39204.c
> index 1389a52ec58..b8145b059ad 100644
> --- a/gcc/testsuite/gcc.dg/torture/pr39204.c
> +++ b/gcc/testsuite/gcc.dg/torture/pr39204.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-w" } */
> +/* { dg-options "-fpermissive -w" } */
>
> __extension__ typedef __SIZE_TYPE__ size_t;
> typedef unsigned char __u_char;
> diff --git a/gcc/testsuite/gcc.dg/torture/pr57676.c b/gcc/testsuite/gcc.dg/torture/pr57676.c
> index a8cacc630b3..9762e818a89 100644
> --- a/gcc/testsuite/gcc.dg/torture/pr57676.c
> +++ b/gcc/testsuite/gcc.dg/torture/pr57676.c
> @@ -1,7 +1,7 @@
> /* Verify that LRA does not abort prematurely in a release build of the
> compiler. */
> /* { dg-do compile } */
> -/* { dg-options "-fno-checking -w -funroll-loops" } */
> +/* { dg-options "-fpermissive -fno-checking -w -funroll-loops" } */
>
> int a, b, c;
>
> diff --git a/gcc/testsuite/gcc.dg/torture/pr67222.c b/gcc/testsuite/gcc.dg/torture/pr67222.c
> index 1beba6dd22c..29b32b119b8 100644
> --- a/gcc/testsuite/gcc.dg/torture/pr67222.c
> +++ b/gcc/testsuite/gcc.dg/torture/pr67222.c
> @@ -1,5 +1,6 @@
> /* PR middle-end/67222 - ICE in gimple_call_arg with bogus posix_memalign */
> /* { dg-do compile } */
> +/* { dg-additional-options "-fpermissive" } */
>
> void
> foo (void **p)
> diff --git a/gcc/testsuite/gcc.dg/torture/pr79125.c b/gcc/testsuite/gcc.dg/torture/pr79125.c
> index b5a39f560a5..e9a17557715 100644
> --- a/gcc/testsuite/gcc.dg/torture/pr79125.c
> +++ b/gcc/testsuite/gcc.dg/torture/pr79125.c
> @@ -1,3 +1,4 @@
> +/* { dg-additional-options "-fpermissive" } */
> int za;
>
> void
> diff --git a/gcc/testsuite/gcc.dg/torture/pr94479.c b/gcc/testsuite/gcc.dg/torture/pr94479.c
> index 3e4058279aa..3189cd16234 100644
> --- a/gcc/testsuite/gcc.dg/torture/pr94479.c
> +++ b/gcc/testsuite/gcc.dg/torture/pr94479.c
> @@ -1,6 +1,6 @@
> /* { dg-do compile } */
> /* { dg-require-stack-check "specific" } */
> -/* { dg-additional-options "-fstack-check -w" } */
> +/* { dg-additional-options "-fpermissive -fstack-check -w" } */
> /* { dg-require-effective-target alloca } */
>
> int a;
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20070815.c b/gcc/testsuite/gcc.dg/tree-ssa/20070815.c
> index fa0e69f7cc4..52d646f8b2e 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/20070815.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/20070815.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O -w" } */
> +/* { dg-options "-fpermissive -O -w" } */
>
> /* This code snippet from glibc 2.3.5 was causing an ICE during
> optimization because we were failing to update the SSA form for
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-29.c b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-29.c
> index d0f7db26391..4d73f14cb4a 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-29.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-29.c
> @@ -1,6 +1,6 @@
> /* PR middle-end/100732 - ICE on sprintf %s with integer argument
> { dg-do compile }
> - { dg-options "-O2 -Wall -fdump-tree-optimized" } */
> + { dg-options "-fpermissive -O2 -Wall -fdump-tree-optimized" } */
>
> #define sprintf(d, f, ...) \
> __builtin___sprintf_chk (d, 0, 32, f, __VA_ARGS__)
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/builtins-folding-gimple-ub.c b/gcc/testsuite/gcc.dg/tree-ssa/builtins-folding-gimple-ub.c
> index 3946a8ca18c..944b4357bef 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/builtins-folding-gimple-ub.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/builtins-folding-gimple-ub.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O1 -fdump-tree-optimized" } */
> +/* { dg-options "-fpermissive -O1 -fdump-tree-optimized" } */
>
> char *buffer1;
> char *buffer2;
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr22051-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr22051-2.c
> index 98114f3d422..11a805990ef 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/pr22051-2.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr22051-2.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fdump-tree-optimized -w" } */
> +/* { dg-options "-fpermissive -O2 -fdump-tree-optimized -w" } */
>
> void *arf ();
> int
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c
> index f97c57503ce..85633f13938 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-10.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O -w -fdump-tree-dse1-vops" } */
> +/* { dg-options "-fpermissive -O -w -fdump-tree-dse1-vops" } */
>
> __extension__ typedef __SIZE_TYPE__ size_t;
> typedef struct _IO_FILE FILE;
> diff --git a/gcc/testsuite/gcc.target/aarch64/pr60697.c b/gcc/testsuite/gcc.target/aarch64/pr60697.c
> index 1b5857c1fbf..6fcd632234d 100644
> --- a/gcc/testsuite/gcc.target/aarch64/pr60697.c
> +++ b/gcc/testsuite/gcc.target/aarch64/pr60697.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-w -O3 -mcpu=cortex-a53" } */
> +/* { dg-options "-fpermissive -w -O3 -mcpu=cortex-a53" } */
> typedef struct __sFILE __FILE;
> typedef __FILE FILE;
> typedef int atom_id;
> diff --git a/gcc/testsuite/gcc.target/aarch64/pr87305.c b/gcc/testsuite/gcc.target/aarch64/pr87305.c
> index 8beaa9176e0..7a3e41820d6 100644
> --- a/gcc/testsuite/gcc.target/aarch64/pr87305.c
> +++ b/gcc/testsuite/gcc.target/aarch64/pr87305.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-Ofast -mbig-endian -w" } */
> +/* { dg-options "-fpermissive -Ofast -mbig-endian -w" } */
>
> int cc;
>
> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr96357.c b/gcc/testsuite/gcc.target/aarch64/sve/pr96357.c
> index e52867f5729..5d8fd8b53c3 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/pr96357.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/pr96357.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O3 -march=armv8.2-a+sve" } */
> +/* { dg-options "-fpermissive -O3 -march=armv8.2-a+sve" } */
>
> int d;
>
> diff --git a/gcc/testsuite/gcc.target/i386/attr-nocf-check-1a.c b/gcc/testsuite/gcc.target/i386/attr-nocf-check-1a.c
> index f2751e8c814..752a8a88480 100644
> --- a/gcc/testsuite/gcc.target/i386/attr-nocf-check-1a.c
> +++ b/gcc/testsuite/gcc.target/i386/attr-nocf-check-1a.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-fcf-protection" } */
> +/* { dg-options "-fpermissive -fcf-protection" } */
>
> int func (int) __attribute__ ((nocf_check));
> int (*fptr) (int) __attribute__ ((nocf_check));
> diff --git a/gcc/testsuite/gcc.target/i386/attr-nocf-check-3a.c b/gcc/testsuite/gcc.target/i386/attr-nocf-check-3a.c
> index 9924cdc80f0..da8b7ffe600 100644
> --- a/gcc/testsuite/gcc.target/i386/attr-nocf-check-3a.c
> +++ b/gcc/testsuite/gcc.target/i386/attr-nocf-check-3a.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-fcf-protection" } */
> +/* { dg-options "-fpermissive -fcf-protection" } */
>
> int foo (void) __attribute__ ((nocf_check));
> void (*foo1) (void) __attribute__((nocf_check));
> diff --git a/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c b/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c
> index 50a7382ec96..99256e9e2aa 100644
> --- a/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c
> +++ b/gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c
> @@ -1,6 +1,6 @@
> /* PR target/108881 */
> /* { dg-do compile } */
> -/* { dg-options "-mavx512bf16 -mno-avx512vl" } */
> +/* { dg-options "-fpermissive -mavx512bf16 -mno-avx512vl" } */
>
> typedef float __m256 __attribute__((__vector_size__(32)));
> typedef __bf16 __v16bf __attribute__((__vector_size__(32)));
> diff --git a/gcc/testsuite/gcc.target/i386/cet-notrack-2a.c b/gcc/testsuite/gcc.target/i386/cet-notrack-2a.c
> index 76b0e2d5611..2a70bc67fc0 100644
> --- a/gcc/testsuite/gcc.target/i386/cet-notrack-2a.c
> +++ b/gcc/testsuite/gcc.target/i386/cet-notrack-2a.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O -fcf-protection" } */
> +/* { dg-options "-fpermissive -O -fcf-protection" } */
> /* { dg-final { scan-assembler-times "endbr32" 1 { target ia32 } } } */
> /* { dg-final { scan-assembler-times "endbr64" 1 { target { ! ia32 } } } } */
> /* { dg-final { scan-assembler-times "notrack call\[ \t]+" 1 } } */
> diff --git a/gcc/testsuite/gcc.target/i386/cet-notrack-2b.c b/gcc/testsuite/gcc.target/i386/cet-notrack-2b.c
> index 8b4952d40bb..7ebf22a30d6 100644
> --- a/gcc/testsuite/gcc.target/i386/cet-notrack-2b.c
> +++ b/gcc/testsuite/gcc.target/i386/cet-notrack-2b.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fcf-protection" } */
> +/* { dg-options "-fpermissive -O2 -fcf-protection" } */
> /* { dg-final { scan-assembler-times "endbr32" 1 { target ia32 } } } */
> /* { dg-final { scan-assembler-times "endbr64" 1 { target { ! ia32 } } } } */
> /* { dg-final { scan-assembler-times "notrack jmp\[ \t]+" 1 } } */
> diff --git a/gcc/testsuite/gcc.target/i386/cet-notrack-5b.c b/gcc/testsuite/gcc.target/i386/cet-notrack-5b.c
> index 255ad458a87..ed816bb9459 100644
> --- a/gcc/testsuite/gcc.target/i386/cet-notrack-5b.c
> +++ b/gcc/testsuite/gcc.target/i386/cet-notrack-5b.c
> @@ -1,6 +1,6 @@
> /* Check the attribute do not proparate through assignment. */
> /* { dg-do compile } */
> -/* { dg-options "-O -fcf-protection" } */
> +/* { dg-options "-fpermissive -O -fcf-protection" } */
> /* { dg-final { scan-assembler-times "endbr32" 1 { target ia32 } } } */
> /* { dg-final { scan-assembler-times "endbr64" 1 { target { ! ia32 } } } } */
> /* { dg-final { scan-assembler-times "\tcall\[ \t]+" 1 { target { ! ia32 } || { ! *-*-darwin* } } } } */
> diff --git a/gcc/testsuite/gcc.target/i386/cet-notrack-6a.c b/gcc/testsuite/gcc.target/i386/cet-notrack-6a.c
> index 8bbe6e48796..ae2a43a2459 100644
> --- a/gcc/testsuite/gcc.target/i386/cet-notrack-6a.c
> +++ b/gcc/testsuite/gcc.target/i386/cet-notrack-6a.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -fcf-protection" } */
> +/* { dg-options "-fpermissive -O2 -fcf-protection" } */
> /* { dg-final { scan-assembler-times "endbr32" 1 { target ia32 } } } */
> /* { dg-final { scan-assembler-times "endbr64" 1 { target { ! ia32 } } } } */
> /* { dg-final { scan-assembler-times "\t(?:call|jmp)\[ \t]+.*foo" 1 } } */
> diff --git a/gcc/testsuite/gcc.target/i386/cet-notrack-6b.c b/gcc/testsuite/gcc.target/i386/cet-notrack-6b.c
> index f950d3a8689..32766c36eab 100644
> --- a/gcc/testsuite/gcc.target/i386/cet-notrack-6b.c
> +++ b/gcc/testsuite/gcc.target/i386/cet-notrack-6b.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O0 -fcf-protection" } */
> +/* { dg-options "-fpermissive -O0 -fcf-protection" } */
> /* { dg-final { scan-assembler-times "endbr32" 1 { target ia32 } } } */
> /* { dg-final { scan-assembler-times "endbr64" 1 { target { ! ia32 } } } } */
> /* { dg-final { scan-assembler-not "\tcall\[ \t]+" { target { ! ia32 } || { ! *-*-darwin* } } } } */
> diff --git a/gcc/testsuite/gcc.target/i386/pr70325.c b/gcc/testsuite/gcc.target/i386/pr70325.c
> index e2b9342658c..8b307399333 100644
> --- a/gcc/testsuite/gcc.target/i386/pr70325.c
> +++ b/gcc/testsuite/gcc.target/i386/pr70325.c
> @@ -1,6 +1,6 @@
> /* PR target/70325 */
> /* { dg-do compile } */
> -/* { dg-options "-mavx512vl -O2" } */
> +/* { dg-options "-fpermissive -mavx512vl -O2" } */
>
> typedef char C __attribute((__vector_size__(32)));
> typedef int I __attribute((__vector_size__(32)));
> diff --git a/gcc/testsuite/gcc.target/i386/pr70858.c b/gcc/testsuite/gcc.target/i386/pr70858.c
> index 99d7877346c..dcba4cc2c7d 100644
> --- a/gcc/testsuite/gcc.target/i386/pr70858.c
> +++ b/gcc/testsuite/gcc.target/i386/pr70858.c
> @@ -1,6 +1,6 @@
> /* PR target/70858 */
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mlwp -mbmi -mtbm -mbmi2 -std=gnu11" } */
> +/* { dg-options "-fpermissive -O2 -mlwp -mbmi -mtbm -mbmi2 -std=gnu11" } */
>
> void
> f1 (unsigned long long x, unsigned int y)
> diff --git a/gcc/testsuite/gcc.target/i386/pr83488.c b/gcc/testsuite/gcc.target/i386/pr83488.c
> index e5ca770e5cc..31060f32759 100644
> --- a/gcc/testsuite/gcc.target/i386/pr83488.c
> +++ b/gcc/testsuite/gcc.target/i386/pr83488.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-mavx512vbmi2 -mno-avx512f" } */
> +/* { dg-options "-fpermissive -mavx512vbmi2 -mno-avx512f" } */
>
> typedef long long __v8di __attribute__((vector_size (64)));
> void
> diff --git a/gcc/testsuite/gcc.target/i386/pr85511.c b/gcc/testsuite/gcc.target/i386/pr85511.c
> index a082a5eaf01..39457aa46b4 100644
> --- a/gcc/testsuite/gcc.target/i386/pr85511.c
> +++ b/gcc/testsuite/gcc.target/i386/pr85511.c
> @@ -1,6 +1,6 @@
> /* PR target/85511 */
> /* { dg-do compile } */
> -/* { dg-options "-Wimplicit-function-declaration" } */
> +/* { dg-options "-fpermissive -Wimplicit-function-declaration" } */
>
> unsigned int
> foo (void)
> diff --git a/gcc/testsuite/gcc.target/i386/pr87572.c b/gcc/testsuite/gcc.target/i386/pr87572.c
> index ea1beb78f5c..76882e9161f 100644
> --- a/gcc/testsuite/gcc.target/i386/pr87572.c
> +++ b/gcc/testsuite/gcc.target/i386/pr87572.c
> @@ -1,6 +1,6 @@
> /* PR target/82483 */
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mavx512ifma -mno-sse2 -w -Wno-psabi" } */
> +/* { dg-options "-fpermissive -O2 -mavx512ifma -mno-sse2 -w -Wno-psabi" } */
>
> typedef long long __m512i __attribute__((__vector_size__(64)));
> __m512i
> diff --git a/gcc/testsuite/gcc.target/i386/pr88195.c b/gcc/testsuite/gcc.target/i386/pr88195.c
> index cd12adc063a..863647c9af0 100644
> --- a/gcc/testsuite/gcc.target/i386/pr88195.c
> +++ b/gcc/testsuite/gcc.target/i386/pr88195.c
> @@ -1,5 +1,5 @@
> /* PR target/88195 */
> -/* { dg-options "-mptwrite" } */
> +/* { dg-options "-fpermissive -mptwrite" } */
>
> void
> foo (void)
>
> base-commit: 68c46d192dcd6a3f7ebb6fc688c267cc826964b6
>
next prev parent reply other threads:[~2023-11-11 13:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-10 22:06 Florian Weimer
2023-11-11 13:03 ` Eric Gallager [this message]
2023-11-11 17:45 ` Florian Weimer
2023-11-11 18:03 ` Sam James
2023-11-11 17:58 ` Jeff Law
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMfHzOtV0ASavM_1q_umbrWNddvj1H8ixsDyb4v_MHuzXJ392Q@mail.gmail.com \
--to=egall@gwmail.gwu.edu \
--cc=fweimer@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).