https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128039
Bug ID: 128039
Summary: ICE when using precompiled headers with MVE and cortex
m55
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: clyon at gcc dot gnu.org
Target Milestone: ---
Target: arm-none-eabi
As reported in
https://gitlab.arm.com/tooling/gnu-devtools-for-arm/-/work_items/8, we have an
ICE when including an empty precompiled header, then including arm_mve.h
Consider:
# Create an empty mve-ice.h
$ echo > mve-ice.h
$ cat mve-ice.c
#include "mve-ice.h"
#include <arm_mve.h>
$ rm mve-ice.h.gch
# Works:
$ arm-none-eabi-gcc -mfloat-abi=hard -mthumb -mcpu=cortex-m55 -c mve-ice.c
# Create the pre-compiled (empty) header:
$ arm-none-eabi-gcc -mfloat-abi=hard -mthumb -mcpu=cortex-m55 -x c-header
mve-ice.h -o mve-ice.h.gch
# ICE with the same command as above:
$ arm-none-eabi-gcc -mfloat-abi=hard -mthumb -mcpu=cortex-m55 -c mve-ice.c
In file included from /lib/gcc/arm-m55-eabi/17.0.0/include/arm_mve.h:39,
from mve-ice.c:3:
/lib/gcc/arm-m55-eabi/17.0.0/include/arm_mve_types.h:32:9: internal compiler
error: in arm_mve_type_for_scalar_type, at config/arm/arm-mve-builtins.cc:401
32 | #pragma GCC arm "arm_mve_types.h"