@@ -217,6 +217,8 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
217
217
Builder.defineMacro (" __FreeBSD_cc_version" , Twine (CCVersion));
218
218
Builder.defineMacro (" __KPRINTF_ATTRIBUTE__" );
219
219
DefineStd (Builder, " unix" , Opts);
220
+ if (this ->HasFloat128 )
221
+ Builder.defineMacro (" __FLOAT128__" );
220
222
221
223
// On FreeBSD, wchar_t contains the number of the code point as
222
224
// used by the character set of the locale. These character sets are
@@ -234,9 +236,11 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
234
236
FreeBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
235
237
: OSTargetInfo<Target>(Triple, Opts) {
236
238
switch (Triple.getArch ()) {
237
- default :
238
239
case llvm::Triple::x86:
239
240
case llvm::Triple::x86_64:
241
+ this ->HasFloat128 = true ;
242
+ [[fallthrough]];
243
+ default :
240
244
this ->MCountName = " .mcount" ;
241
245
break ;
242
246
case llvm::Triple::mips:
@@ -425,12 +429,22 @@ class LLVM_LIBRARY_VISIBILITY NetBSDTargetInfo : public OSTargetInfo<Target> {
425
429
Builder.defineMacro (" __unix__" );
426
430
if (Opts.POSIXThreads )
427
431
Builder.defineMacro (" _REENTRANT" );
432
+ if (this ->HasFloat128 )
433
+ Builder.defineMacro (" __FLOAT128__" );
428
434
}
429
435
430
436
public:
431
437
NetBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
432
438
: OSTargetInfo<Target>(Triple, Opts) {
433
439
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
+ }
434
448
}
435
449
};
436
450
0 commit comments