Tested x86_64-pc-linux-gnu, applying to trunk. -- 8< --
gcc/cp/ChangeLog: * tree.cc (handle_init_priority_attribute): Use OPT_prio_ctor_dtor. gcc/testsuite/ChangeLog: * g++.dg/special/initp1.C: Test disabling -Wprio-ctor-dtor. --- gcc/cp/tree.cc | 3 ++- gcc/testsuite/g++.dg/special/initp1.C | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gcc/cp/tree.cc b/gcc/cp/tree.cc index 79bc74fa2b7..bf84fb6bcec 100644 --- a/gcc/cp/tree.cc +++ b/gcc/cp/tree.cc @@ -5335,7 +5335,8 @@ handle_init_priority_attribute (tree* node, && !in_system_header_at (input_location)) { warning - (0, "requested %<init_priority%> %i is reserved for internal use", + (OPT_Wprio_ctor_dtor, + "requested %<init_priority%> %i is reserved for internal use", pri); } diff --git a/gcc/testsuite/g++.dg/special/initp1.C b/gcc/testsuite/g++.dg/special/initp1.C index 4a539a5a4bd..ef88ca970b8 100644 --- a/gcc/testsuite/g++.dg/special/initp1.C +++ b/gcc/testsuite/g++.dg/special/initp1.C @@ -30,9 +30,9 @@ Two hoo[ 3 ] = { Two( 15, 16 ) }; -Two coo[ 3 ] __attribute__((init_priority(1000))); - -Two koo[ 3 ] __attribute__((init_priority(1000))) = { +Two coo[ 3 ] __attribute__((init_priority(10))); // { dg-warning "reserved" } +#pragma GCC diagnostic ignored "-Wprio-ctor-dtor" +Two koo[ 3 ] __attribute__((init_priority(10))) = { Two( 21, 22 ), Two( 23, 24 ), Two( 25, 26 ) base-commit: cdb4d27a4c2786cf1b1b0eb1872eac6a5f931578 prerequisite-patch-id: cf6b02f09f22e626404250f9e5fc33e6e0351db2 -- 2.48.1