It is not a target specific issue, it will fail if we enabled AVX. e.g.:
$ /export/users/haochenj/env/build_no_bootstrap_master/gcc/xgcc -B/export/users/haochenj/env/build_no_bootstrap_master/gcc/ /export/users/haochenj/src/gcc/master/gcc/testsuite/gcc.dg/gnu23-tag-4.c -m64 -mavx -fdiagnostics-plain-output -std=gnu23 -S -o gnu23-tag-4.s /export/users/haochenj/src/gcc/master/gcc/testsuite/gcc.dg/gnu23-tag-4.c: In function ‘bar’: /export/users/haochenj/src/gcc/master/gcc/testsuite/gcc.dg/gnu23-tag-4.c:18:47: error: initialization of ‘struct g *’ from incompatible pointer type ‘struct g *’ [-Wincompatible-pointer-types] Thx, Haochen > -----Original Message----- > From: Martin Uecker <uec...@tugraz.at> > Sent: Friday, December 22, 2023 5:39 PM > To: gcc-regress...@gcc.gnu.org; gcc-patches@gcc.gnu.org; Jiang, Haochen > <haochen.ji...@intel.com>; Joseph Myers <jos...@codesourcery.com> > Subject: Re: [r14-6770 Regression] FAIL: gcc.dg/gnu23-tag-4.c (test for excess > errors) on Linux/x86_64 > > > Hm, this is weird, as it really seems to depend on the -march=.... So if > there is > really a difference between those structs which make them incompatible on > some archs, we should not consider them to be compatible in general. > > struct g { int a[n]; int b; } *y; > { struct g { int a[4]; int b; } *y2 = y; } > > But I do not see what could go wrong here as sizeof / alignment is the same > for > n = 4. So there is something else I missed.... > > > > Am Freitag, dem 22.12.2023 um 05:07 +0800 schrieb haochen.jiang: > > On Linux/x86_64, > > > > 23fee88f84873b0b8b41c8e5a9b229d533fb4022 is the first bad commit > > commit 23fee88f84873b0b8b41c8e5a9b229d533fb4022 > > Author: Martin Uecker <uec...@tugraz.at> > > Date: Tue Aug 15 14:58:32 2023 +0200 > > > > c23: tag compatibility rules for struct and unions > > > > caused > > > > FAIL: gcc.dg/gnu23-tag-4.c (test for excess errors) > > > > with GCC configured with > > > > ../../gcc/configure > > --prefix=/export/users/haochenj/src/gcc-bisect/master/master/r14-6770/ > > usr --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld > > --with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet > > --without-isl --enable-libmpx x86_64-linux --disable-bootstrap > > > > To reproduce: > > > > $ cd {build_dir}/gcc && make check RUNTESTFLAGS="dg.exp=gcc.dg/gnu23- > tag-4.c --target_board='unix{-m32\ -march=cascadelake}'" > > $ cd {build_dir}/gcc && make check RUNTESTFLAGS="dg.exp=gcc.dg/gnu23- > tag-4.c --target_board='unix{-m64\ -march=cascadelake}'" > > > > (Please do not reply to this email, for question about this report, > > contact me at haochen dot jiang at intel.com.) (If you met problems > > with cascadelake related, disabling AVX512F in command line might save > that.) (However, please make sure that there is no potential problems with > AVX512.)