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)));

Reply via email to