From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 451F8385AC3D; Wed, 23 Feb 2022 08:12:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 451F8385AC3D From: "pmenzel+gcc at molgen dot mpg.de" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/104655] New: [12 Regression] array subscript 0 is outside array bounds of Date: Wed, 23 Feb 2022 08:12:18 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: pmenzel+gcc at molgen dot mpg.de X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Feb 2022 08:12:18 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D104655 Bug ID: 104655 Summary: [12 Regression] array subscript 0 is outside array bounds of Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: pmenzel+gcc at molgen dot mpg.de Target Milestone: --- Building SeaBIOS and coreboot with GCC 12 from Debian sid/unstable gcc-12 (Debian 12-20220222-1) 12.0.1 20220222 (experimental) [master r12-7325-g2f59f067610] new warnings and errors are shown. SeaBIOS (commit 829b0f1 (nvme: fix LBA format data structure)): ``` Compile checking out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds= of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff !=3D FUNC16(entry_19_official).sego= ff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds= of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff !=3D FUNC16(entry_19_official).sego= ff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) =3D (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], sego= ff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) =3D (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], sego= ff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ``` (There are more of similar kind.) coreboot (commit 5bba93e0 (mb/google/brya: Enable eMMC HS400 mode for nissa= )), and editing `util/xcompile/xcompile` to use GCC 12, building Asus F2A85-M P= RO: ``` CC=20=20=20=20=20=20=20=20 libagesa/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatures.o x86_64-linux-gnu-gcc-12 -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Ibuild -I3rdparty/vboot/firmware/include -incl= ude src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=3D\"build\" -Isrc/soc/amd/common/block/include/ -Isrc/arch/x86/include -Isrc/southbridge/amd/agesa/hudson -Isrc/vendorcode/amd/include -Isrc/vendorcode/amd/agesa/f15tn -Isrc/vendorcode/amd/agesa/f15tn/../common -Isrc/vendorcode/amd/agesa/f15tn/Include -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Common=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Common=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=3Dgnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -W= vla -Wdangling-else -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wreturn-type -Wlogical-op -Wduplicated-cond -Wno-unused-but-set-variable -Werror -Os -Wno-address-of-packed-member -m32 -Wl,-b,elf32-i386 -Wl,-melf_i386 -m32=20 -fuse-ld=3Dbfd -fno-stack-protector -Wl,--build-id=3Dnone -fno-delete-null-pointer-checks -Wlogical-op -march=3Di686 -mno-mmx -march=3Dk8-sse3 -mtune=3Dk8-sse3 -fno-strict-aliasing -MT build/libagesa/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatures.o -D__LIBAGESA__ -fno-zero-initialized-in-bss -Isrc/vendorcode/amd/include -Isrc/vendorcode/amd/agesa/f15tn -Isrc/vendorcode/amd/agesa/f15tn/../common -Isrc/vendorcode/amd/agesa/f15tn/Include -Isrc/vendorcode/amd/agesa/f15tn/P= roc -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Tech -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Tech/DDR3 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps/TN -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps/TN/FS1 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps/TN/FP2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Ps/TN/FM2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/NB -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/NB/TN -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Main -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Main/TN -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/TABLE -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/S3 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/PARTRN -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/ODTHERMAL -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/MEMCLR -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/LVDDR3 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/INTLVRN -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/IDENDIMM -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/EXCLUDIMM -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/ECC -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/DMI -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/CSINTLV -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/CRAT -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Feat/CHINTLV -Isrc/vendorcode/amd/agesa/f15tn/Proc/Mem/Ardk -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS/Perf -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS/Library -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS/Family/0x15 -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS/Family/0x15/TN -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS/Debug -Isrc/vendorcode/amd/agesa/f15tn/Proc/IDS/Control -Isrc/vendorcode/amd/agesa/f15tn/Proc/HT -Isrc/vendorcode/amd/agesa/f15tn/Proc/HT/Fam15Mod1x -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbTable -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbSview -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbSbLib -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbSbIommuLib -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbSSocketLib -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieTrainingV1 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieInitLibV4 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieInitLibV1 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieConfig -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieClkPm -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieAspm -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbPcieAlibV1 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbNbInitLibV4 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbNbInitLibV1 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbMSocketLib -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbIvrsLib -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbIommuScratch -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbIommuIvrs -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbInitTN -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbGfxInitLibV1 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbGfxConfig -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbFamTranslation -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Modules/GnbCommonLib -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Library -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Library/GnbTimerLibWrap0 -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Include -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Include/Library -Isrc/vendorcode/amd/agesa/f15tn/Proc/GNB/Common -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Usb -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Usb/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Usb/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Spi -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Spi/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Spi/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Sd -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Sd/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Sd/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Sata -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Sata/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Sata/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Pcie -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Pcie/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Pcie/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Pcib -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Ir -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Interface -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Interface/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Interface/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Ide -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Hwm -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Hwm/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Hwm/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/HwAcpi -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/HwAcpi/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/HwAcpi/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Gec -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Gec/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Gec/Family/Hudson2 -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Common -Isrc/vendorcode/amd/agesa/f15tn/Proc/Fch/Azalia -Isrc/vendorcode/amd/agesa/f15tn/Proc/Common -Isrc/vendorcode/amd/agesa/f15tn/Proc/CPU -Isrc/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature -Isrc/vendorcode/amd/agesa/f15tn/Proc/CPU/Family -Isrc/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15 -Isrc/vendorcode/amd/agesa/f15tn/Proc/CPU/Family/0x15/TN -c -o build/libagesa/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatures.o src/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatures.c src/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatureLeveling.c: In function 'FeatureLeveling': src/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatureLeveling.c:149:3: error: array subscript 0 is outside array bounds of 'UINT64[0]' {aka 'long = long unsigned int[]'} [-Werror=3Darray-bounds] 149 | *FirstTime =3D TRUE; | ^~~~~~~~~~ src/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatureLeveling.c:150:3: error: array subscript 0 is outside array bounds of 'UINT64[0]' {aka 'long = long unsigned int[]'} [-Werror=3Darray-bounds] 150 | *NeedLeveling =3D FALSE; | ^~~~~~~~~~~~~ src/vendorcode/amd/agesa/f15tn/Proc/CPU/Feature/cpuFeatureLeveling.c:171:7: error: array subscript 0 is outside array bounds of 'UINT64[0]' {aka 'long = long unsigned int[]'} [-Werror=3Darray-bounds] 171 | if (*NeedLeveling) { | ^~~~~~~~~~~~~ ``` QEMU i440fx fails too: ``` CC bootblock/cpu/x86/lapic/lapic.o x86_64-linux-gnu-gcc-12 -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Ibuild -I3rdparty/vboot/firmware/include -incl= ude src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=3D\"build\" -Isrc/arch/x86/include -D__ARCH_x86_32__ -pipe = -g -nostdinc -std=3Dgnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wdangling-= else -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-alias= ing -ffunction-sections -fdata-sections -fno-pie -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wreturn-type -Wlogical-op -Wduplicated-cond -Wno-unused-but-set-variable -Werror -Os -Wno-address-of-packed-member -m32 -Wl,-b,elf32-i386 -Wl,-melf_i386 -m32=20 -fuse-ld=3Dbfd -fno-stack-protector -Wl,--build-id=3Dnone -fno-delete-null-pointer-checks -Wlogical-op -march=3Di686 -mno-mmx -MT build/bootblock/cpu/x86/lapic/lapic.o -D__BOOTBLOCK__ -c -o build/bootblock/cpu/x86/lapic/lapic.o src/cpu/x86/lapic/lapic.c In file included from src/include/cpu/x86/lapic.h:4, from src/cpu/x86/lapic/lapic.c:5: In function 'read32', inlined from 'xapic_read' at src/include/cpu/x86/lapic.h:13:9, inlined from 'lapic_read' at src/include/cpu/x86/lapic.h:80:10, inlined from 'lapicid' at src/include/cpu/x86/lapic.h:138:21, inlined from 'enable_lapic' at src/cpu/x86/lapic/lapic.c:41:3: src/arch/x86/include/arch/mmio.h:20:16: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 20 | return *((volatile uint32_t *)(addr)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'read32', inlined from 'xapic_read' at src/include/cpu/x86/lapic.h:13:9, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:103:11, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:73:2: src/arch/x86/include/arch/mmio.h:20:16: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 20 | return *((volatile uint32_t *)(addr)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'write32', inlined from 'xapic_write' at src/include/cpu/x86/lapic.h:18:2, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:106:3, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:73:2: src/arch/x86/include/arch/mmio.h:40:40: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 40 | *((volatile uint32_t *)(addr)) =3D value; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In function 'read32', inlined from 'xapic_read' at src/include/cpu/x86/lapic.h:13:9, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:103:11, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:77:2: src/arch/x86/include/arch/mmio.h:20:16: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 20 | return *((volatile uint32_t *)(addr)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'write32', inlined from 'xapic_write' at src/include/cpu/x86/lapic.h:18:2, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:106:3, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:77:2: src/arch/x86/include/arch/mmio.h:40:40: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 40 | *((volatile uint32_t *)(addr)) =3D value; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In function 'read32', inlined from 'xapic_read' at src/include/cpu/x86/lapic.h:13:9, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:103:11, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:86:3: src/arch/x86/include/arch/mmio.h:20:16: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 20 | return *((volatile uint32_t *)(addr)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'write32', inlined from 'xapic_write' at src/include/cpu/x86/lapic.h:18:2, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:106:3, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:86:3: src/arch/x86/include/arch/mmio.h:40:40: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 40 | *((volatile uint32_t *)(addr)) =3D value; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In function 'read32', inlined from 'xapic_read' at src/include/cpu/x86/lapic.h:13:9, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:103:11, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:84:3: src/arch/x86/include/arch/mmio.h:20:16: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 20 | return *((volatile uint32_t *)(addr)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'write32', inlined from 'xapic_write' at src/include/cpu/x86/lapic.h:18:2, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:106:3, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:84:3: src/arch/x86/include/arch/mmio.h:40:40: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 40 | *((volatile uint32_t *)(addr)) =3D value; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ In function 'read32', inlined from 'xapic_read' at src/include/cpu/x86/lapic.h:13:9, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:103:11, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:89:2: src/arch/x86/include/arch/mmio.h:20:16: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 20 | return *((volatile uint32_t *)(addr)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'write32', inlined from 'xapic_write' at src/include/cpu/x86/lapic.h:18:2, inlined from 'lapic_update32' at src/include/cpu/x86/lapic.h:106:3, inlined from 'setup_lapic_interrupts' at src/cpu/x86/lapic/lapic.c:89:2: src/arch/x86/include/arch/mmio.h:40:40: error: array subscript 0 is outside array bounds of 'const volatile void[0]' [-Werror=3Darray-bounds] 40 | *((volatile uint32_t *)(addr)) =3D value; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ```=