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.