https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115739
Kewen Lin <linkw at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ebotcazou at gcc dot gnu.org --- Comment #2 from Kewen Lin <linkw at gcc dot gnu.org> --- The commit dropped the define of SPARC_LONG_DOUBLE_TYPE_SIZE in sparc.cc and we don't have a default one in sparc.h: /* SPARC_LONG_DOUBLE_TYPE_SIZE is defined per OS even though the SPARC ABI says that it is 128-bit wide. LONG_DOUBLE_TYPE_SIZE get poisoned, so add SPARC_ prefix. */ /* #define SPARC_LONG_DOUBLE_TYPE_SIZE 128 */ Although we can bring back the define to sparc.cc, but per the above comments, I think we want to define it in vxworks.h: diff --git a/gcc/config/sparc/vxworks.h b/gcc/config/sparc/vxworks.h index c1a9310fb3f..4cdb3b1685d 100644 --- a/gcc/config/sparc/vxworks.h +++ b/gcc/config/sparc/vxworks.h @@ -62,3 +62,7 @@ along with GCC; see the file COPYING3. If not see /* This platform supports the probing method of stack checking (RTP mode). 8K is reserved in the stack to propagate exceptions in case of overflow. */ #define STACK_CHECK_PROTECT 8192 + +/* SPARC_LONG_DOUBLE_TYPE_SIZE should be defined per OS. */ +#undef SPARC_LONG_DOUBLE_TYPE_SIZE +#define SPARC_LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) Built well with the above fix.