https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86973

--- Comment #3 from Michael Matz <matz at gcc dot gnu.org> ---
A testcase that doesn't need -mabi cmdline args:

extern __attribute__((ms_abi)) void foo(void);
__attribute__((sysv_abi))
void a(__attribute__((__vector_size__(8 * sizeof(double)))) double b){
    foo();
}

For very old GCCs (starting with r206947 from 2014) we actually get a sorry,
and
then the known ICE:

pr86973.i: In function ‘a’:
pr86973.i:4:8: sorry, unimplemented: ms_abi attribute requires
-maccumulate-outgoing-args or subtarget optimization implying it
     foo();
        ^
pr86973.i:4:8: internal compiler error: in expand_call, at calls.c:3471
0x6ed0b1 expand_call(tree_node*, rtx_def*, int)
        ../../gcc/gcc/calls.c:3469

Indeed adding -maccumulate-outgoing-args removes the error.  That revision
simply changed the default for that option.

We lost the sorry with r207677, but retained the ICE.  Since then we ICE.

Reply via email to