Do not warn -Wsuggest-attribute=noreturn for main.chkp (PR middle-end/78339).

2017-03-13  Martin Liska  <mliska@suse.cz>

	PR middle-end/78339
	* ipa-pure-const.c (warn_function_noreturn): If the declarations
	is a CHKP clone, use original declaration.
2017-03-13  Martin Liska  <mliska@suse.cz>

	PR middle-end/78339
	* gcc.target/i386/mpx/pr78339.c: New test.

From-SVN: r246098
This commit is contained in:
Martin Liska 2017-03-13 16:30:17 +01:00 committed by Martin Liska
parent 0e5172ebf2
commit a48018b5dc
4 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2017-03-13 Martin Liska <mliska@suse.cz>
PR middle-end/78339
* ipa-pure-const.c (warn_function_noreturn): If the declarations
is a CHKP clone, use original declaration.
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (arc_init): Use multiplier whenever we have it.

View File

@ -218,11 +218,17 @@ warn_function_const (tree decl, bool known_finite)
static void
warn_function_noreturn (tree decl)
{
tree original_decl = decl;
cgraph_node *node = cgraph_node::get (decl);
if (node->instrumentation_clone)
decl = node->instrumented_version->decl;
static hash_set<tree> *warned_about;
if (!lang_hooks.missing_noreturn_ok_p (decl)
&& targetm.warn_func_return (decl))
warned_about
= suggest_attribute (OPT_Wsuggest_attribute_noreturn, decl,
= suggest_attribute (OPT_Wsuggest_attribute_noreturn, original_decl,
true, warned_about, "noreturn");
}

View File

@ -1,3 +1,8 @@
2017-03-13 Martin Liska <mliska@suse.cz>
PR middle-end/78339
* gcc.target/i386/mpx/pr78339.c: New test.
2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gcc.target/arc/bitfield.c: New file.

View File

@ -0,0 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-fcheck-pointer-bounds -mmpx -Wsuggest-attribute=noreturn" } */
extern _Noreturn void exit (int);
int main (void) { exit (1); }