@@ -187,6 +187,8 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
187
187
Builder.defineMacro (" __FreeBSD_cc_version" , Twine (CCVersion));
188
188
Builder.defineMacro (" __KPRINTF_ATTRIBUTE__" );
189
189
DefineStd (Builder, " unix" , Opts);
190
+ if (this ->HasFloat128 )
191
+ Builder.defineMacro (" __FLOAT128__" );
190
192
191
193
// On FreeBSD, wchar_t contains the number of the code point as
192
194
// used by the character set of the locale. These character sets are
@@ -204,9 +206,11 @@ class LLVM_LIBRARY_VISIBILITY FreeBSDTargetInfo : public OSTargetInfo<Target> {
204
206
FreeBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
205
207
: OSTargetInfo<Target>(Triple, Opts) {
206
208
switch (Triple.getArch ()) {
207
- default :
208
209
case llvm::Triple::x86:
209
210
case llvm::Triple::x86_64:
211
+ this ->HasFloat128 = true ;
212
+ [[fallthrough]];
213
+ default :
210
214
this ->MCountName = " .mcount" ;
211
215
break ;
212
216
case llvm::Triple::mips:
@@ -372,12 +376,22 @@ class LLVM_LIBRARY_VISIBILITY NetBSDTargetInfo : public OSTargetInfo<Target> {
372
376
Builder.defineMacro (" __unix__" );
373
377
if (Opts.POSIXThreads )
374
378
Builder.defineMacro (" _REENTRANT" );
379
+ if (this ->HasFloat128 )
380
+ Builder.defineMacro (" __FLOAT128__" );
375
381
}
376
382
377
383
public:
378
384
NetBSDTargetInfo (const llvm::Triple &Triple, const TargetOptions &Opts)
379
385
: OSTargetInfo<Target>(Triple, Opts) {
380
386
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
+ }
381
395
}
382
396
};
383
397
0 commit comments