Update semantic_interposition flag at analysis time

This patch solves problem with FE first finalizing function and then adding
-fno-semantic-interposition flag (by parsing optimization attribute).

gcc/ChangeLog:

2022-04-09  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/103376
	* cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
	flag.

gcc/testsuite/ChangeLog:

2022-04-09  Jan Hubicka  <hubicka@ucw.cz>

	PR ipa/103376
	* gcc.c-torture/compile/pr103376.c: New test.
This commit is contained in:
Jan Hubicka 2022-04-09 21:22:58 +02:00
parent aabb9a261e
commit 4943b75e9f
2 changed files with 10 additions and 0 deletions

View File

@ -621,6 +621,7 @@ cgraph_node::analyze (void)
tree decl = this->decl; tree decl = this->decl;
location_t saved_loc = input_location; location_t saved_loc = input_location;
input_location = DECL_SOURCE_LOCATION (decl); input_location = DECL_SOURCE_LOCATION (decl);
semantic_interposition = opt_for_fn (decl, flag_semantic_interposition);
if (thunk) if (thunk)
{ {

View File

@ -0,0 +1,9 @@
/* { dg-additional-options "-Ofast" } */
__attribute__ ((optimize ("no-associative-math"))) double
fn3 (double h, double l)
{
return h + l;
}
double fn3 (double, double) __attribute__ ((optimize ("O2,no-associative-math")));