https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86973
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work|5.4.0 | Known to fail| |4.9.0, 5.4.0 --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Michael Matz from comment #1) > I can reproduce the same error without any va-args: > > % cat bug.i > extern void foo(void *); > __attribute__((sysv_abi)) > void a(__attribute__((__vector_size__(8 * sizeof(double)))) double b){ > foo(0); > } > % ./cc1 -mabi=ms -mavx512f pr86973.i > pr86973.i:4:5: internal compiler error: in expand_call, at calls.c:4218 > 4 | foo(0); > > So, are you absolutely sure that r222173 (which delayed expansion of va_arg > until pass_stdarg) is the one that introduced this error? As far as I can > determine this is some interaction between backend and call setup going > wrong, which specifically is about a sysv_abi function (with large param) > calling a ms_abi function. Yes, I can confirm this test-case is as old as GCC 4.9.0 where the AVX512 extension was added.