https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71913
Renlin Li <renlin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |renlin at gcc dot gnu.org --- Comment #9 from Renlin Li <renlin at gcc dot gnu.org> --- g++.dg/init/elide5.C fails on target whose SIZE_TYPE is not "long unsigned int". testsuite/g++.dg/init/elide5.C:4:42: error: 'operator new' takes type 'size_t' ('unsigned int') as first parameter [-fpermissive] I have checked, for most 32 bit architectures or ABI, the SIZE_TYPE is "unsigned int". arm is one of them. To make this test case portable, __SIZE_TYPE__ should be better in this case, instead of "unsigned long" as first argument of new operator. > void* operator new(unsigned long, void* p) { return p; }