diff options
author | Martin Jambor <mjambor@suse.cz> | 2013-06-25 13:09:21 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2013-06-25 13:09:21 +0200 |
commit | c13bc3d998b26a9d50c6bb07d0f8f372117e7a20 (patch) | |
tree | d82bab7c445398d72a006a056d61c12cf0f00522 /gcc/cgraph.h | |
parent | 6cdbb7e8a1f92fcc2504d56d68ff981803d499a7 (diff) | |
download | gcc-c13bc3d998b26a9d50c6bb07d0f8f372117e7a20.zip gcc-c13bc3d998b26a9d50c6bb07d0f8f372117e7a20.tar.gz gcc-c13bc3d998b26a9d50c6bb07d0f8f372117e7a20.tar.bz2 |
re PR middle-end/57670 (Member-pointer calls should not be redirected to builtin_unreachable)
2013-06-25 Martin Jambor <mjambor@suse.cz>
PR middle-end/57670
* cgraph.h (cgraph_indirect_call_info): New flag member_ptr.
* ipa-prop.c (ipa_print_node_jump_functions): Mark member pointer
calls in the dump.
(ipa_note_param_call): Initialize member_ptr flag.
(ipa_analyze_indirect_call_uses): Set member_ptr flag.
(ipa_make_edge_direct_to_target): Bail out if member_ptr is set.
(ipa_write_indirect_edge_info): Stream member_ptr flag.
(ipa_read_indirect_edge_info): Likewise.
testsuite/
* g++.dg/ipa/pr57670.C (H): New test.
From-SVN: r200393
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 1e17cb7..e66eecd 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -440,6 +440,8 @@ struct GTY(()) cgraph_indirect_call_info /* Set when the call is a call of a pointer loaded from contents of an aggregate at offset. */ unsigned agg_contents : 1; + /* Set when this is a call through a member pointer. */ + unsigned member_ptr : 1; /* When the previous bit is set, this one determines whether the destination is loaded from a parameter passed by reference. */ unsigned by_ref : 1; |