http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53790
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Keywords| |ice-on-valid-code Last reconfirmed| |2012-06-28 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 Summary|ICE on dereferencing a |[4.6/4.7/4.8 Regression] |extern union in asm |ICE on dereferencing a |statement |extern union in asm | |statement Target Milestone|--- |4.6.4 Known to fail| |4.8.0 --- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-28 09:59:40 UTC --- Confirmed. There is nothing invalid here, you can take the address of such variable - you just cannot inspect it. Of course that is what inlining exposes here (and via MEM_REF we get to see the external decl). Hmhm. I'll look at it.