@@ -187,6 +187,8 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
187187 Builder.defineMacro (" __FreeBSD_cc_version" , Twine (CCVersion));
188188 Builder.defineMacro (" __KPRINTF_ATTRIBUTE__" );
189189 DefineStd (Builder, " unix" , Opts);
190+ if (this ->HasFloat128 )
191+ Builder.defineMacro (" __FLOAT128__" );
190192
191193 // On FreeBSD, wchar_t contains the number of the code point as
192194 // used by the character set of the locale. These character sets are
@@ -204,9 +206,11 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
204206 FreeBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
205207 : OSTargetInfo<Target>(Triple, Opts) {
206208 switch (Triple.getArch ()) {
207- default :
208209 case llvm::Triple::x86:
209210 case llvm::Triple::x86_64:
211+ this ->HasFloat128 = true ;
212+ [[fallthrough]];
213+ default :
210214 this ->MCountName = " .mcount" ;
211215 break ;
212216 case llvm::Triple::mips:
@@ -372,12 +376,22 @@ class LLVM_LIBRARY_VISIBILITY NetBSDTargetInfo : public OSTargetInfo<Target> {
372376 Builder.defineMacro (" __unix__" );
373377 if (Opts.POSIXThreads )
374378 Builder.defineMacro (" _REENTRANT" );
379+ if (this ->HasFloat128 )
380+ Builder.defineMacro (" __FLOAT128__" );
375381 }
376382
377383public:
378384 NetBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
379385 : OSTargetInfo<Target>(Triple, Opts) {
380386 this ->MCountName = " __mcount" ;
387+ switch (Triple.getArch ()) {
388+ default :
389+ break ;
390+ case llvm::Triple::x86:
391+ case llvm::Triple::x86_64:
392+ this ->HasFloat128 = true ;
393+ break ;
394+ }
381395 }
382396};
383397
0 commit comments