PR ipa/70018
commit530dc1260486ffe2128aa997bef742f1ff2bef26
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Apr 2016 16:04:05 +0000 (17 16:04 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Apr 2016 16:04:05 +0000 (17 16:04 +0000)
treedab34f7a272189308734eab631e4f507410d806b
parentace1bf51e1903870fd2e593e33b07bfb8baf2c70
PR ipa/70018
* cgraph.h (cgraph_node::set_const_flag,
cgraph_node::set_pure_flag): Update prototype to return bool;
update comment.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
of interposable symbol are interposable, too.
(cgraph_set_const_flag_1): Rename to ...
(set_const_flag_1): ... this one; change to self recursive function
instead of call_for_symbol_thunks_and_aliases. Handle correctly
clearnig the flag in all variants and also virtual thunks of const
functions are pure; track if any change was done.
(cgraph_node::set_const_flag): Update.
(struct set_pure_flag_info): New struct.
(cgraph_set_pure_flag_1): Rename to ...
(set_pure_flag_1): ... this one; take set_pure_flag_info parameter
rather than pointer encoded flags; track if any changes was done;
handle correctly clearning flag and setting flag of aliases already
declared const.
(cgraph_node::set_pure_flag): Update.
(cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235081 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h