[Bug ada/47056] [4.6 Regression] 10 Ada ACATS tests fail to link with undefined reference on ia64-linux
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jan 2 19:14:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47056
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu.org
--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-01-02 19:14:22 UTC ---
The problem is that CCP turns:
pr47056___alignment.46_308 = pr47056___alignment;
D.2264_309 = MEM[(struct *)pr47056___alignment.46_308].D.227;
into
D.2264_309 = MEM[(struct *)pr47056___alignment].D.227;
(pr47056___alignment being a function) and while walk_stmt_load_store_addr_ops
recognizes the former as an address-of pattern (the & is implicit for
functions), it doesn't for the latter (unlike for TARGET_MEM_REF) so
build_cgraph_edges is fooled and missed the reference to pr47056___alignment.
Richard, I presume that the latter form must be deemed invalid GIMPLE?
More information about the Gcc-bugs
mailing list