[clang] [clang] Fix error in gcc 7.5. on arm32-linux (PR #73702)
https://github.com/steven-johnson created https://github.com/llvm/llvm-project/pull/73702 Apparently the gcc 7.5 compiler for arm32-linux fails to implicitly convert to std::optional; this inserts an explicit constructor to unbreak that compiler. [Injection from https://reviews.llvm.org/rG4142a64ae3ca4856e6a5ffae9e40014ef5cf9db5] >From 87af40c987eb546bc3a3f022256d6d3b23340307 Mon Sep 17 00:00:00 2001 From: Steven Johnson Date: Tue, 28 Nov 2023 13:44:00 -0800 Subject: [PATCH] [clang] Fix error in gcc 7.5. on arm32-linux Apparently the gcc 7.5 compiler for arm32-linux fails to implicitly convert to std::optional; this inserts an explicit constructor to unbreak that compiler. --- clang/lib/Sema/SemaDeclCXX.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 7385eac48d8c895..f80de2b88b5ef68 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -17299,7 +17299,7 @@ bool Sema::EvaluateStaticAssertMessageAsString(Expr *Message, OverloadCandidateSet::CSK_Normal); if (MemberLookup.empty()) return std::nullopt; -return std::move(MemberLookup); +return std::move(std::optional(MemberLookup)); }; bool SizeNotFound, DataNotFound; ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Fix error in gcc 7.5. on arm32-linux (PR #73702)
https://github.com/steven-johnson closed https://github.com/llvm/llvm-project/pull/73702 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[flang] [clang] [llvm] [InstCombine] Canonicalize constant GEPs to i8 source element type (PR #68882)
steven-johnson wrote: FYI: this *appears* to have injected a failure into Halide builds (based on a bisect) -- there are some bitcode files that we build with LLVM's top-of-tree Clang then load later on to use for codegen, and these bitcode files are now missing certain type definitions that are required. (Does this change affect optimizer behavior at all?) I'm investigating from the Halide side to see if I can confirm or deny that this is the injection point, but any suggestions as to how this could cause such an effect would be welcomed. https://github.com/llvm/llvm-project/pull/68882 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [flang] [InstCombine] Canonicalize constant GEPs to i8 source element type (PR #68882)
steven-johnson wrote: Looks like more-aggressive type stripping broke us. We have a workaround we can land on the Halide side. https://github.com/llvm/llvm-project/pull/68882 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Finish deleting the le32/le64 targets (PR #98497)
steven-johnson wrote: Note that Halide has removed its dependency on the le32/le64 targets as of https://github.com/halide/Halide/pull/8344. https://github.com/llvm/llvm-project/pull/98497 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Finish deleting the le32/le64 targets (PR #98497)
steven-johnson wrote: Unfortunately, this utterly breaks Halide, which was in fact relying on both of these targets. https://github.com/llvm/llvm-project/pull/98497 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Finish deleting the le32/le64 targets (PR #98497)
steven-johnson wrote: > LGTM! That partial Le32/Leb64 restore was to give Halide some time. I understand that you want these gone, but the fact of the matter is that Halide isn't ready for this change, and so the next integrate of LLVM into google3 will break the world. We urgently need these features (or something like them). https://github.com/llvm/llvm-project/pull/98497 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Finish deleting the le32/le64 targets (PR #98497)
steven-johnson wrote: > We're trying wasm now. This looked promising in our GitHub tests, but for reasons that aren't clear (yet), ~everything compiled this way inside google3 resulted in linker errors (missing symbols). https://github.com/llvm/llvm-project/pull/98497 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Finish deleting the le32/le64 targets (PR #98497)
steven-johnson wrote: After some initial experiments, it looks unlikely that a quick fix is possible on our side. May I suggest a revert with a (say) 30-day expiration date? That should give us enough time to come up with a fix on our side (which will actually be a drop-other-work-and-fix-it approach this time). https://github.com/llvm/llvm-project/pull/98497 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits