[PATCH] D24867: Request init/fini array on FreeBSD 12 and later
brooks added a reviewer: arichardson. brooks added a comment. Herald added a subscriber: krytarowski. Adding Alex as he made some related changes to CHERI Clang recently https://github.com/CTSRD-CHERI/clang/commit/3a648766deabb4ff7f95862213c3c99e7223363c. https://reviews.llvm.org/D24867 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D24867: Request init/fini array on FreeBSD 12 and later
brooks accepted this revision. brooks added a comment. I do think we should make this change, but don't have a strong opinion on the timing. If we do it for 12 and not 13 then we should probably try to get it into a 6.0.2. https://reviews.llvm.org/D24867 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D125142: [clang][auto-init] Remove -enable flag for "zero" mode
brooks added a comment. It would be somewhat helpful as a transition aid if `-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang` remained as a no-op producing a warning (a generic unused argument warning would be fine). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125142/new/ https://reviews.llvm.org/D125142 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D114530: [clang][scan-build] Use cc/c++ instead of gcc/g++ on FreeBSD.
brooks added a comment. Thanks, this will kill off one of the patches in our ports. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114530/new/ https://reviews.llvm.org/D114530 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D135171: FreeBSD: enable __float128 on x86
brooks created this revision. brooks added reviewers: arichardson, emaste, dim. Herald added a subscriber: krytarowski. Herald added a project: All. brooks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This is a prerequisite for proper runtime support on FreeBSD as it will allow such a runtime to be compiled. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D135171 Files: clang/lib/Basic/Targets/OSTargets.h Index: clang/lib/Basic/Targets/OSTargets.h === --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -232,15 +232,20 @@ // setting this to 1 is conforming even if all the basic source // character literals have the same encoding as char and wchar_t. Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1"); + +if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: FreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo(Triple, Opts) { switch (Triple.getArch()) { -default: case llvm::Triple::x86: case llvm::Triple::x86_64: + this->HasFloat128 = true; + [[fallthrough]]; +default: this->MCountName = ".mcount"; break; case llvm::Triple::mips: Index: clang/lib/Basic/Targets/OSTargets.h === --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -232,15 +232,20 @@ // setting this to 1 is conforming even if all the basic source // character literals have the same encoding as char and wchar_t. Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1"); + +if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: FreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo(Triple, Opts) { switch (Triple.getArch()) { -default: case llvm::Triple::x86: case llvm::Triple::x86_64: + this->HasFloat128 = true; + [[fallthrough]]; +default: this->MCountName = ".mcount"; break; case llvm::Triple::mips: ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D135171: FreeBSD: enable __float128 on x86
brooks updated this revision to Diff 465223. brooks added a comment. Add a test as requested by @arichardson Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135171/new/ https://reviews.llvm.org/D135171 Files: clang/lib/Basic/Targets/OSTargets.h clang/test/CodeGenCXX/float128-declarations.cpp Index: clang/test/CodeGenCXX/float128-declarations.cpp === --- clang/test/CodeGenCXX/float128-declarations.cpp +++ clang/test/CodeGenCXX/float128-declarations.cpp @@ -2,6 +2,8 @@ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple powerpc64le-unknown-unknown \ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s +// RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple x86_64-unknown-freebsd -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple i386-unknown-linux-gnu -std=c++11 \ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple x86_64-unknown-linux-gnu -std=c++11 \ Index: clang/lib/Basic/Targets/OSTargets.h === --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -232,15 +232,20 @@ // setting this to 1 is conforming even if all the basic source // character literals have the same encoding as char and wchar_t. Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1"); + +if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: FreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo(Triple, Opts) { switch (Triple.getArch()) { -default: case llvm::Triple::x86: case llvm::Triple::x86_64: + this->HasFloat128 = true; + [[fallthrough]]; +default: this->MCountName = ".mcount"; break; case llvm::Triple::mips: Index: clang/test/CodeGenCXX/float128-declarations.cpp === --- clang/test/CodeGenCXX/float128-declarations.cpp +++ clang/test/CodeGenCXX/float128-declarations.cpp @@ -2,6 +2,8 @@ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s // RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple powerpc64le-unknown-unknown \ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s +// RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple x86_64-unknown-freebsd -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple i386-unknown-linux-gnu -std=c++11 \ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple x86_64-unknown-linux-gnu -std=c++11 \ Index: clang/lib/Basic/Targets/OSTargets.h === --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -232,15 +232,20 @@ // setting this to 1 is conforming even if all the basic source // character literals have the same encoding as char and wchar_t. Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1"); + +if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: FreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo(Triple, Opts) { switch (Triple.getArch()) { -default: case llvm::Triple::x86: case llvm::Triple::x86_64: + this->HasFloat128 = true; + [[fallthrough]]; +default: this->MCountName = ".mcount"; break; case llvm::Triple::mips: ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D135171: FreeBSD: enable __float128 on x86
brooks added a comment. @arichardson please commit. I do not have commit access. Thanks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135171/new/ https://reviews.llvm.org/D135171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D135171: FreeBSD: enable __float128 on x86
brooks updated this revision to Diff 509934. brooks added a comment. - Rebase - Add powerpc64le Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135171/new/ https://reviews.llvm.org/D135171 Files: clang/lib/Basic/Targets/OSTargets.h clang/test/CodeGenCXX/float128-declarations.cpp Index: clang/test/CodeGenCXX/float128-declarations.cpp === --- clang/test/CodeGenCXX/float128-declarations.cpp +++ clang/test/CodeGenCXX/float128-declarations.cpp @@ -2,6 +2,8 @@ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s // RUN: %clang_cc1 -emit-llvm -triple powerpc64le-unknown-unknown \ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-freebsd -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -emit-llvm -triple i386-unknown-linux-gnu -std=c++11 \ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-linux-gnu -std=c++11 \ Index: clang/lib/Basic/Targets/OSTargets.h === --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -234,15 +234,24 @@ // setting this to 1 is conforming even if all the basic source // character literals have the same encoding as char and wchar_t. Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1"); + +if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: FreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo(Triple, Opts) { switch (Triple.getArch()) { -default: +case llvm::Triple::ppc64le: case llvm::Triple::x86: case llvm::Triple::x86_64: + this->HasFloat128 = true; +} +switch (Triple.getArch()) { +case llvm::Triple::x86: +case llvm::Triple::x86_64: +default: this->MCountName = ".mcount"; break; case llvm::Triple::mips: Index: clang/test/CodeGenCXX/float128-declarations.cpp === --- clang/test/CodeGenCXX/float128-declarations.cpp +++ clang/test/CodeGenCXX/float128-declarations.cpp @@ -2,6 +2,8 @@ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s // RUN: %clang_cc1 -emit-llvm -triple powerpc64le-unknown-unknown \ // RUN: -target-feature +float128 -std=c++11 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-freebsd -std=c++11 \ +// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -emit-llvm -triple i386-unknown-linux-gnu -std=c++11 \ // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-linux-gnu -std=c++11 \ Index: clang/lib/Basic/Targets/OSTargets.h === --- clang/lib/Basic/Targets/OSTargets.h +++ clang/lib/Basic/Targets/OSTargets.h @@ -234,15 +234,24 @@ // setting this to 1 is conforming even if all the basic source // character literals have the same encoding as char and wchar_t. Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1"); + +if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: FreeBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo(Triple, Opts) { switch (Triple.getArch()) { -default: +case llvm::Triple::ppc64le: case llvm::Triple::x86: case llvm::Triple::x86_64: + this->HasFloat128 = true; +} +switch (Triple.getArch()) { +case llvm::Triple::x86: +case llvm::Triple::x86_64: +default: this->MCountName = ".mcount"; break; case llvm::Triple::mips: ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits