@@ -217,6 +217,8 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
217217 Builder.defineMacro (" __FreeBSD_cc_version" , Twine (CCVersion));
218218 Builder.defineMacro (" __KPRINTF_ATTRIBUTE__" );
219219 DefineStd (Builder, " unix" , Opts);
220+ if (this ->HasFloat128 )
221+ Builder.defineMacro (" __FLOAT128__" );
220222
221223 // On FreeBSD, wchar_t contains the number of the code point as
222224 // used by the character set of the locale. These character sets are
@@ -234,9 +236,11 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
234236 FreeBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
235237 : OSTargetInfo<Target>(Triple, Opts) {
236238 switch (Triple.getArch ()) {
237- default :
238239 case llvm::Triple::x86:
239240 case llvm::Triple::x86_64:
241+ this ->HasFloat128 = true ;
242+ [[fallthrough]];
243+ default :
240244 this ->MCountName = " .mcount" ;
241245 break ;
242246 case llvm::Triple::mips:
@@ -425,12 +429,22 @@ class LLVM_LIBRARY_VISIBILITY NetBSDTargetInfo : public OSTargetInfo<Target> {
425429 Builder.defineMacro (" __unix__" );
426430 if (Opts.POSIXThreads )
427431 Builder.defineMacro (" _REENTRANT" );
432+ if (this ->HasFloat128 )
433+ Builder.defineMacro (" __FLOAT128__" );
428434 }
429435
430436public:
431437 NetBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
432438 : OSTargetInfo<Target>(Triple, Opts) {
433439 this ->MCountName = " __mcount" ;
440+ switch (Triple.getArch ()) {
441+ default :
442+ break ;
443+ case llvm::Triple::x86:
444+ case llvm::Triple::x86_64:
445+ this ->HasFloat128 = true ;
446+ break ;
447+ }
434448 }
435449};
436450
0 commit comments