https://gcc.gnu.org/g:39e679e25deca32e73870f7f7a9c4f2c108d4a5e
commit r15-1766-g39e679e25deca32e73870f7f7a9c4f2c108d4a5e Author: Kewen Lin <li...@linux.ibm.com> Date: Tue Jul 2 03:58:06 2024 -0500 sparc: define SPARC_LONG_DOUBLE_TYPE_SIZE for vxworks [PR115739] Commit r15-1594 removed define of LONG_DOUBLE_TYPE_SIZE in sparc.cc, it's based on the assumption that each OS has its own define (see the comments in sparc.h), but it exposes an issue on vxworks which lacks of the define. We can bring back the default SPARC_LONG_DOUBLE_TYPE_SIZE to sparc.cc, but according to the comments in sparc.h, I think it's better to define this in vxworks.h. btw, I also went through all the sparc supported triples, vxworks is the only one that misses this define. PR target/115739 gcc/ChangeLog: * config/sparc/vxworks.h (SPARC_LONG_DOUBLE_TYPE_SIZE): New define. Diff: --- gcc/config/sparc/vxworks.h | 4 ++++ 1 file changed, 4 insertions(+) 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)