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.