Fix "#pragma GCC pop_options"

gcc/ChangeLog

	* targhooks.c (default_target_option_pragma_parse): Do not warn if
	called on behalf of "#pragma GCC pop_options".

gcc/testsuite/ChangeLog

	* gcc.dg/pragma-pop_options-1.c: New test.

From-SVN: r228794
This commit is contained in:
Dominik Vogt 2015-10-14 06:53:54 +00:00 committed by Andreas Krebbel
parent 168d732e0c
commit 1aa5ba4e22
4 changed files with 22 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
* targhooks.c (default_target_option_pragma_parse): Do not warn if
called on behalf of "#pragma GCC pop_options".
2015-10-14 Tom de Vries <tom@codesourcery.com>
* cfganal.c (verify_no_unreachable_blocks): New function.

View File

@ -1305,8 +1305,12 @@ bool
default_target_option_pragma_parse (tree ARG_UNUSED (args),
tree ARG_UNUSED (pop_target))
{
warning (OPT_Wpragmas,
"#pragma GCC target is not supported for this machine");
/* If args is NULL the caller is handle_pragma_pop_options (). In that case,
emit no warning because "#pragma GCC pop_target" is valid on targets that
do not have the "target" pragma. */
if (args)
warning (OPT_Wpragmas,
"#pragma GCC target is not supported for this machine");
return false;
}

View File

@ -1,3 +1,7 @@
2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.dg/pragma-pop_options-1.c: New test.
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>

View File

@ -0,0 +1,7 @@
/* Check warnings produced by #pragma GCC push/pop/reset_options. */
/* { dg-do assemble } */
#pragma push_options
#pragma pop_options
int foo;