https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94172
Bug ID: 94172 Summary: [arm-none-eabi] ICE in expand_debug_locations, at cfgexpand.c:5403 Product: gcc Version: 8.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: dtaubert at atmosic dot com Target Milestone: --- Created attachment 48032 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48032&action=edit gcc -v output extern enum my_enum_type extern_enum; extern void bar(int a); enum my_enum_type { my_entry }; void foo(int a) { int local_enum = extern_enum; if (a) { __asm volatile ("bkpt 0"); local_enum = 0; } bar(local_enum); } arm/gcc-arm-none-eabi-8-2019-q3-update/bin/arm-none-eabi-gcc -o foo.o -c -mcpu=cortex-m0 -mthumb -Os -g3 foo.c during RTL pass: expand foo.c: In function 'foo': foo.c:8:6: internal compiler error: in expand_debug_locations, at cfgexpand.c:5403 void foo(int a) ^~~ Also seen with releases/gcc-9.2.0 from git://gcc.gnu.org/git/gcc.git during RTL pass: expand foo.c: In function ?foo?: foo.c:8:6: internal compiler error: in expand_debug_locations, at cfgexpand.c:5460 8 | void foo(int a) | ^~~ 0x67cb6b expand_debug_locations ../../gcc/cfgexpand.c:5456 0x67cb6b execute ../../gcc/cfgexpand.c:6516 gcc_assert (mode == GET_MODE (val) || (GET_MODE (val) == VOIDmode && (CONST_SCALAR_INT_P (val) || GET_CODE (val) == CONST_FIXED || GET_CODE (val) == LABEL_REF)));