[Bug ipa/79970] New: [7 Regression] ICE in add_stack_var, at cfgexpand.c:450 with always_inline attribute
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 9 08:17:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79970
Bug ID: 79970
Summary: [7 Regression] ICE in add_stack_var, at
cfgexpand.c:450 with always_inline attribute
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: hubicka at ucw dot cz, rguenth at gcc dot gnu.org
Target Milestone: ---
Starting from r239273, we ICE on:
$ cat ice.c
typedef int c __attribute__ ((__vector_size__ (16)));
__attribute__ ((__always_inline__)) void d (void);
void f(c x);
inline void e (c *b) {
f (*b);
}
void a ()
{
struct
{
c g[4];
} h;
d ();
e (h.g);
}
$ gcc -m32 -O2 -march=athlon-tbird ice.c
ice.c:3:42: warning: always_inline function might not be inlinable
[-Wattributes]
__attribute__ ((__always_inline__)) void d (void);
^
ice.c: In function ‘a’:
ice.c:3:42: error: inlining failed in call to always_inline ‘d’: function body
not available
ice.c:16:5: note: called from here
d ();
^~~~
ice.c:3:42: error: inlining failed in call to always_inline ‘d’: function body
not available
__attribute__ ((__always_inline__)) void d (void);
^
ice.c:16:5: note: called from here
d ();
^~~~
ice.c:18:1: internal compiler error: in add_stack_var, at cfgexpand.c:450
}
^
0x7c468f add_stack_var
../../gcc/cfgexpand.c:450
0x7c4ca7 expand_one_var
../../gcc/cfgexpand.c:1650
0x7c4fa3 estimated_stack_frame_size(cgraph_node*)
../../gcc/cfgexpand.c:1928
0xa1349f compute_inline_parameters(cgraph_node*, bool)
../../gcc/ipa-inline-analysis.c:2971
0xa13678 compute_inline_parameters_for_current
../../gcc/ipa-inline-analysis.c:3076
0xa13678 execute
../../gcc/ipa-inline-analysis.c:3106
More information about the Gcc-bugs
mailing list