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:
parent
0e5172ebf2
commit
a48018b5dc
@ -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.
|
||||
|
@ -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");
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
5
gcc/testsuite/gcc.target/i386/mpx/pr78339.c
Normal file
5
gcc/testsuite/gcc.target/i386/mpx/pr78339.c
Normal 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); }
|
Loading…
Reference in New Issue
Block a user