We have, in vxworks.h:
/* linux64.h enables this, not supported in vxWorks. */
#undef TARGET_FLOAT128_ENABLE_TYPE
#define TARGET_FLOAT128_ENABLE_TYPE 0
We inherit linux64.h for a few reasons, but don't really support
float128 for vxworks, so the setting made sense.
Many tests rely on the linux default (1) though, so resetting is
causing lots of failures on compilation tests that would pass otherwise.
Not resetting lets users write code declaring floa128
objects but linking will typically fail at some point, so
there's no real adverse effect.
Bottom line is we don't have any particular incentive to alter
the default, whatever the default, so better leave the parameter
alone.
2022-09-29 Olivier Hainque <hainque@adacore.com>
gcc/
* config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
resetting to 0.
#undef LINK_OS_EXTRA_SPEC64
#define LINK_OS_EXTRA_SPEC64 VXWORKS_LINK_SPEC
-/* linux64.h enables this, not supported in vxWorks. */
-#undef TARGET_FLOAT128_ENABLE_TYPE
-#define TARGET_FLOAT128_ENABLE_TYPE 0
+/* Leave TARGET_FLOAT128_ENABLE_TYPE alone here, possibly inherited from
+ a linux configuration file. This lets compilation tests pass and will
+ trigger visible link errors (hence remain harmless) if the support isn't
+ really there. */
#endif /* TARGET_VXWORKS7 */