This revision was automatically updated to reflect the committed changes. Closed by commit rL330572: [Solaris] __float128 is supported on Solaris/x86 (authored by ro, committed by ). Herald added a subscriber: llvm-commits.
Changed prior to commit: https://reviews.llvm.org/D41240?vs=127348&id=143514#toc Repository: rL LLVM https://reviews.llvm.org/D41240 Files: cfe/trunk/lib/Basic/Targets/OSTargets.h cfe/trunk/test/CodeGenCXX/float128-declarations.cpp Index: cfe/trunk/test/CodeGenCXX/float128-declarations.cpp =================================================================== --- cfe/trunk/test/CodeGenCXX/float128-declarations.cpp +++ cfe/trunk/test/CodeGenCXX/float128-declarations.cpp @@ -12,6 +12,10 @@ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -emit-llvm -triple amd64-pc-openbsd -std=c++11 \ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 +// RUN: %clang_cc1 -emit-llvm -triple i386-pc-solaris2.11 -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 +// RUN: %clang_cc1 -emit-llvm -triple x86_64-pc-solaris2.11 -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // /* Various contexts where type __float128 can appear. The different check prefixes are due to different mangling on X86 and different calling Index: cfe/trunk/lib/Basic/Targets/OSTargets.h =================================================================== --- cfe/trunk/lib/Basic/Targets/OSTargets.h +++ cfe/trunk/lib/Basic/Targets/OSTargets.h @@ -552,12 +552,22 @@ Builder.defineMacro("_LARGEFILE64_SOURCE"); Builder.defineMacro("__EXTENSIONS__"); Builder.defineMacro("_REENTRANT"); + if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: SolarisTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo<Target>(Triple, Opts) { // FIXME: WIntType should be SignedLong + switch (Triple.getArch()) { + default: + break; + case llvm::Triple::x86: + case llvm::Triple::x86_64: + this->HasFloat128 = true; + break; + } } };
Index: cfe/trunk/test/CodeGenCXX/float128-declarations.cpp =================================================================== --- cfe/trunk/test/CodeGenCXX/float128-declarations.cpp +++ cfe/trunk/test/CodeGenCXX/float128-declarations.cpp @@ -12,6 +12,10 @@ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -emit-llvm -triple amd64-pc-openbsd -std=c++11 \ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 +// RUN: %clang_cc1 -emit-llvm -triple i386-pc-solaris2.11 -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 +// RUN: %clang_cc1 -emit-llvm -triple x86_64-pc-solaris2.11 -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // /* Various contexts where type __float128 can appear. The different check prefixes are due to different mangling on X86 and different calling Index: cfe/trunk/lib/Basic/Targets/OSTargets.h =================================================================== --- cfe/trunk/lib/Basic/Targets/OSTargets.h +++ cfe/trunk/lib/Basic/Targets/OSTargets.h @@ -552,12 +552,22 @@ Builder.defineMacro("_LARGEFILE64_SOURCE"); Builder.defineMacro("__EXTENSIONS__"); Builder.defineMacro("_REENTRANT"); + if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: SolarisTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo<Target>(Triple, Opts) { // FIXME: WIntType should be SignedLong + switch (Triple.getArch()) { + default: + break; + case llvm::Triple::x86: + case llvm::Triple::x86_64: + this->HasFloat128 = true; + break; + } } };
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits