[clang] [compiler-rt] [lldb] [llvm] [Support] Remove terminfo dependency (PR #92865)
mysterymath wrote: I did some brief investigation on our end. The pkg-config file for libedit includes a private dependency on libncurses, which provides the terminfo functions. The issue here seems to be one uncovered in LLVM's FindLibEdit.cmake. We're building against a static libedit, but that doesn't use the LibEdit_STATIC_LIBRARIES variable that would be aware of the private dependency of libedit on libncurses. We build everything as statically as we can, which is probably why we're the first to notice. @petrhosek mentioned that we've had to deal with similar concerns with ZSTD. I'll take a look at seeing if there's a straightforward to update FindLibEdit.cmake to handle this case. https://github.com/llvm/llvm-project/pull/92865 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-repl] Extend the C support. (PR #89804)
mysterymath wrote: This still exhibits the same issue: https://luci-milo.appspot.com/raw/build/logs.chromium.org/fuchsia/led/dthorn_google.com/0d77d2b0963e18ad11cb83db0680c2382ed7f8df95cf733f42fcdbd1dda8a7ec/+/build.proto https://logs.chromium.org/logs/fuchsia/led/dthorn_google.com/0d77d2b0963e18ad11cb83db0680c2382ed7f8df95cf733f42fcdbd1dda8a7ec/+/u/lldb/test/stdout I do think it should be possible to download a "source tarball" that allows easily reproducing the output of our bots on similar host configurations, but I don't think we're quite there yet. It's an AI on our end, for sure. I asked around what people were doing, and it involved basically replicating the bot build by hand using a ton of tribal knowledge and manual editing; it's not something that I could export any easier than it would be to creating a better way to do this. https://github.com/llvm/llvm-project/pull/89804 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-repl] Extend the C support. (PR #89804)
mysterymath wrote: I did have a means to reproduce this locally, but it's been a long time since I've used it. I should be able to recreate the setup. I'll get back to you with the details when I can; this whole afternoon is booked through pretty solid with meetings for me I'm afraid. https://github.com/llvm/llvm-project/pull/89804 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Revert "[IR] Avoid creating icmp/fcmp constant expressions" (PR #93087)
https://github.com/mysterymath closed https://github.com/llvm/llvm-project/pull/93087 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Revert "[IR] Avoid creating icmp/fcmp constant expressions" (PR #93087)
https://github.com/mysterymath edited https://github.com/llvm/llvm-project/pull/93087 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] Revert "[IR] Avoid creating icmp/fcmp constant expressions" (PR #93087)
https://github.com/mysterymath created https://github.com/llvm/llvm-project/pull/93087 Reverts llvm/llvm-project#92885 >From bf19260fe0d348aee801f4446c4f8666740c8896 Mon Sep 17 00:00:00 2001 From: Daniel Thornburgh Date: Wed, 22 May 2024 11:27:27 -0700 Subject: [PATCH] Revert "[IR] Avoid creating icmp/fcmp constant expressions (#92885)" This reverts commit 108575f02ea9927009ed81231474d3a6f053602f. --- clang/test/Analysis/builtin_signbit.cpp | 36 +++--- .../catch-nullptr-and-nonzero-offset.c| 62 --- clang/test/CodeGen/constantexpr-fneg.c| 3 +- clang/test/CodeGenCXX/cxx11-thread-local.cpp | 20 ++-- .../test/CodeGenCXX/ubsan-nullability-arg.cpp | 3 +- clang/test/CodeGenCXX/weak-external.cpp | 15 +-- clang/test/Driver/linker-wrapper-image.c | 98 - clang/test/OpenMP/threadprivate_codegen.cpp | 104 -- llvm/include/llvm/Analysis/TargetFolder.h | 2 +- llvm/include/llvm/IR/ConstantFolder.h | 2 +- llvm/lib/Analysis/ConstantFolding.cpp | 2 +- llvm/lib/IR/ConstantFold.cpp | 13 +-- llvm/test/Assembler/ConstantExprFold.ll | 4 +- llvm/test/Assembler/ConstantExprNoFold.ll | 4 +- llvm/test/Assembler/vector-cmp.ll | 2 +- .../AMDGPU/lower-ctor-dtor-constexpr-alias.ll | 3 +- llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll | 3 +- .../AMDGPU/lower-multiple-ctor-dtor.ll| 3 +- .../MemorySanitizer/check-constant-shadow.ll | 3 +- .../SanitizerBinaryMetadata/atomics.ll| 12 +- .../Transforms/Attributor/value-simplify.ll | 7 +- .../binop-select-cast-of-select-cond.ll | 2 +- .../constant-fold-address-space-pointer.ll| 6 +- .../Transforms/InstCombine/getelementptr.ll | 3 +- ...hoist-xor-by-constant-from-xor-by-value.ll | 3 +- llvm/test/Transforms/InstCombine/pr33453.ll | 2 +- llvm/test/Transforms/InstCombine/pr83947.ll | 4 +- llvm/test/Transforms/InstCombine/rem.ll | 4 +- .../Transforms/InstCombine/select-and-or.ll | 4 +- .../InstCombine/select-safe-transforms.ll | 4 +- .../InstSimplify/ConstProp/bitcast.ll | 9 +- .../InstSimplify/ConstProp/icmp-global.ll | 54 +++-- .../InstSimplify/bitcast-vector-fold.ll | 3 +- llvm/test/Transforms/InstSimplify/compare.ll | 6 +- .../Transforms/InstSimplify/past-the-end.ll | 6 +- .../JumpThreading/constant-fold-status.ll | 3 +- .../LowerTypeTests/cfi-direct-call1.ll| 10 +- .../LowerTypeTests/function-weak.ll | 74 ++--- .../test/Transforms/SCCP/conditions-ranges.ll | 9 +- .../phi-to-select-constexpr-icmp.ll | 2 +- 40 files changed, 256 insertions(+), 353 deletions(-) diff --git a/clang/test/Analysis/builtin_signbit.cpp b/clang/test/Analysis/builtin_signbit.cpp index be10f0950f69b..57e6816ce2802 100644 --- a/clang/test/Analysis/builtin_signbit.cpp +++ b/clang/test/Analysis/builtin_signbit.cpp @@ -84,30 +84,28 @@ long double ld = -1.0L; // CHECK-LE-LABEL: define dso_local void @_Z12test_signbitv( // CHECK-LE-SAME: ) #[[ATTR0:[0-9]+]] { // CHECK-LE-NEXT: entry: -// CHECK-LE-NEXT:[[TMP0:%.*]] = icmp slt i64 trunc (i128 bitcast (ppc_fp128 0xM3FF0 to i128) to i64), 0 -// CHECK-LE-NEXT:[[FROMBOOL:%.*]] = zext i1 [[TMP0]] to i8 +// CHECK-LE-NEXT:[[FROMBOOL:%.*]] = zext i1 icmp slt (i64 trunc (i128 bitcast (ppc_fp128 0xM3FF0 to i128) to i64), i64 0) to i8 // CHECK-LE-NEXT:store i8 [[FROMBOOL]], ptr @b, align 1 -// CHECK-LE-NEXT:[[TMP1:%.*]] = load ppc_fp128, ptr @ld, align 16 -// CHECK-LE-NEXT:[[TMP2:%.*]] = bitcast ppc_fp128 [[TMP1]] to i128 -// CHECK-LE-NEXT:[[TMP3:%.*]] = trunc i128 [[TMP2]] to i64 -// CHECK-LE-NEXT:[[TMP4:%.*]] = icmp slt i64 [[TMP3]], 0 -// CHECK-LE-NEXT:[[FROMBOOL1:%.*]] = zext i1 [[TMP4]] to i8 +// CHECK-LE-NEXT:[[TMP0:%.*]] = load ppc_fp128, ptr @ld, align 16 +// CHECK-LE-NEXT:[[TMP1:%.*]] = bitcast ppc_fp128 [[TMP0]] to i128 +// CHECK-LE-NEXT:[[TMP2:%.*]] = trunc i128 [[TMP1]] to i64 +// CHECK-LE-NEXT:[[TMP3:%.*]] = icmp slt i64 [[TMP2]], 0 +// CHECK-LE-NEXT:[[FROMBOOL1:%.*]] = zext i1 [[TMP3]] to i8 // CHECK-LE-NEXT:store i8 [[FROMBOOL1]], ptr @b, align 1 // CHECK-LE-NEXT:store i8 0, ptr @b, align 1 -// CHECK-LE-NEXT:[[TMP5:%.*]] = load double, ptr @d, align 8 -// CHECK-LE-NEXT:[[CONV:%.*]] = fptrunc double [[TMP5]] to float -// CHECK-LE-NEXT:[[TMP6:%.*]] = bitcast float [[CONV]] to i32 -// CHECK-LE-NEXT:[[TMP7:%.*]] = icmp slt i32 [[TMP6]], 0 -// CHECK-LE-NEXT:[[FROMBOOL2:%.*]] = zext i1 [[TMP7]] to i8 +// CHECK-LE-NEXT:[[TMP4:%.*]] = load double, ptr @d, align 8 +// CHECK-LE-NEXT:[[CONV:%.*]] = fptrunc double [[TMP4]] to float +// CHECK-LE-NEXT:[[TMP5:%.*]] = bitcast float [[CONV]] to i32 +// CHECK-LE-NEXT:[[TMP6:%.*]] = icmp slt i32 [[TMP5]], 0 +// CHECK-LE-NEXT:
[clang] [llvm] [IR] Avoid creating icmp/fcmp constant expressions (PR #92885)
mysterymath wrote: This broke the Mac LLDB builders for Fuchsia as well. I'm going to revert to unblock CI. https://github.com/llvm/llvm-project/pull/92885 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-repl] Extend the C support. (PR #89804)
mysterymath wrote: I was able to verify that the revert fixed the tests at least. https://github.com/llvm/llvm-project/pull/89804 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-repl] Extend the C support. (PR #89804)
mysterymath wrote: > @jasonmolenda, I am stuck. I could not find how the bot configures llvm and > lldb. I built lldb and ran `make check-lldb` but did not fail in the same > way. Can you provide a recipe to reproduce the failure? For some reason it only fails on our Mac LLDB builders, and not our Linux ones. Our LLDB configuration is also quite tortured I'm afraid; it's difficult to reproduce locally. I'm not sure whether this issue would be seen on a clean Mac build; it seems like it might be some kind of pointer Heisenbug or something. I can definitely test a candidate fix, but that's about it. https://github.com/llvm/llvm-project/pull/89804 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang-repl] Extend the C support. (PR #89804)
mysterymath wrote: We've started seeing crashes in Fuchsia's Mac tooclhain's LLDB test suite: https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-x64/b8747305520511321169/overview This is the only PR in the blamelist that looks plausible, but there isn't a clear connection to me (or a clear reason why it would be Mac-only). Does anything jump out, or am I barking up the wrong tree? Stack trace follows: ``` Assertion failed: (D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"), function addHiddenDecl, file DeclBase.cpp, line 1692. PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. /Volumes/Work/s/w/ir/cache/macos_sdk/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:32:1 : at annotation token #0 0x000111461238 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x8ab238) #1 0x00011145f179 llvm::sys::RunSignalHandlers() (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x8a9179) #2 0x000111461900 SignalHandler(int) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x8ab900) #3 0x7ff807c915ed (/usr/lib/system/libsystem_platform.dylib+0x7ff8004255ed) #4 0x700014de4c40 #5 0x7ff807b8ab45 (/usr/lib/system/libsystem_c.dylib+0x7ff80031eb45) #6 0x7ff807b89e5e (/usr/lib/system/libsystem_c.dylib+0x7ff80031de5e) #7 0x000114a4ae54 clang::DeclContext::addHiddenDecl(clang::Decl*) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x3e94e54) #8 0x000114a4aeae clang::DeclContext::addDecl(clang::Decl*) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x3e94eae) #9 0x000113edeb81 clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x3328b81) #10 0x000113a31ccf clang::Parser::ParseTopLevelStmtDecl() (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2e7bccf) #11 0x000113a6d231 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2eb7231) #12 0x000113a45202 clang::Parser::ParseLinkage(clang::ParsingDeclSpec&, clang::DeclaratorContext) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2e8f202) #13 0x000113a6f037 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2eb9037) #14 0x000113a6e8a5 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2eb88a5) #15 0x000113a6cfd4 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2eb6fd4) #16 0x000113a6ad37 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&, clang::Sema::ModuleImportState&) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2eb4d37) #17 0x000113a6a501 clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr&, clang::Sema::ModuleImportState&) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2eb4501) #18 0x000113956acb clang::ParseAST(clang::Sema&, bool, bool) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2da0acb) #19 0x000113721a53 clang::FrontendAction::Execute() (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2b6ba53) #20 0x00011369068d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2ada68d) #21 0x00011369cd24 void llvm::function_ref::callback_fn, llvm::function_ref)::$_1>(long) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x2ae6d24) #22 0x00011145c0fe llvm::CrashRecoveryContext::RunSafely(llvm::function_ref) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x8a60fe) #23 0x00011145c220 RunSafelyOnThread_Dispatch(void*) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x8a6220) #24 0x00011145c23f void* llvm::thread::ThreadProxy>(void*) (/Volumes/Work/s/w/ir/x/w/llvm_build/lib/liblldb.19.0.0git.dylib+0x8a623f) #25 0x7ff807c641d3 (/usr/lib/system/libsystem_pthread.dylib+0x7ff8003f81d3) #26 0x7ff807c5fbd3 (/usr/lib/system/libsystem_pthread.dylib+0x7ff8003f3bd3) ``` https://github.com/llvm/llvm-project/pull/89804 ___ cfe-commits mailing
[clang] 26bd3d0 - [Fuchsia] Add LLDB_TEST_USER_ARGS to stage2 passthrough
Author: Daniel Thornburgh Date: 2024-03-13T13:34:50-07:00 New Revision: 26bd3d0f9a5a518de02f4dc1921648cda54a0d4e URL: https://github.com/llvm/llvm-project/commit/26bd3d0f9a5a518de02f4dc1921648cda54a0d4e DIFF: https://github.com/llvm/llvm-project/commit/26bd3d0f9a5a518de02f4dc1921648cda54a0d4e.diff LOG: [Fuchsia] Add LLDB_TEST_USER_ARGS to stage2 passthrough Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 1209fd93598613..df69d7d0dd414b 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -66,6 +66,7 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LLDB_PYTHON_HOME LLDB_PYTHON_RELATIVE_PATH LLDB_TEST_USE_VENDOR_PACKAGES + LLDB_TEST_USER_ARGS Python3_EXECUTABLE Python3_LIBRARIES Python3_INCLUDE_DIRS ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 2377beb - [Fuchsia] Add LLDB_TEST_USE_VENDOR_PACKAGES to boostrap passthrough
Author: Daniel Thornburgh Date: 2024-03-12T13:33:12-07:00 New Revision: 2377beba8d10ce1092db7f8ddd5b10a2c0d3bfd1 URL: https://github.com/llvm/llvm-project/commit/2377beba8d10ce1092db7f8ddd5b10a2c0d3bfd1 DIFF: https://github.com/llvm/llvm-project/commit/2377beba8d10ce1092db7f8ddd5b10a2c0d3bfd1.diff LOG: [Fuchsia] Add LLDB_TEST_USE_VENDOR_PACKAGES to boostrap passthrough Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index fe925901eb3dce..1209fd93598613 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -65,6 +65,7 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LLDB_EMBED_PYTHON_HOME LLDB_PYTHON_HOME LLDB_PYTHON_RELATIVE_PATH + LLDB_TEST_USE_VENDOR_PACKAGES Python3_EXECUTABLE Python3_LIBRARIES Python3_INCLUDE_DIRS ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Driver] Allow -fbasic-block-address-map for AArch64 ELF (PR #82662)
mysterymath wrote: I'm terribly sorry, this was the wrong change from the blamelist. NAR. https://github.com/llvm/llvm-project/pull/82662 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Driver] Allow -fbasic-block-address-map for AArch64 ELF (PR #82662)
mysterymath wrote: Hi, we've narrowed down a LLDB test failure on Fuchsia's AArch64 builders to this change: https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-arm64/b8754880571862677073/overview There were only three likely culprits in the blamelist(this change, #83201, #83214), but reverting each only produces a successful run if this change is reverted. Can you think of why this change would break that test? https://github.com/llvm/llvm-project/pull/82662 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[llvm] [clang] [clang-tools-extra] [flang] [compiler-rt] [clang] Add test for CWG1807 (PR #77637)
mysterymath wrote: It looks like 30da0f5 didn't fully fix this; Fuchsia's Mac toolchain builder just completed a run with this change that still fails that test: https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-x64/b8758543058445552977/test-results?sortby== https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-x64/b8758543058445552977/blamelist https://github.com/llvm/llvm-project/pull/77637 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 69bc30b - [Fuchsia] Add stage2 cmake options
Author: Daniel Thornburgh Date: 2024-01-11T13:31:33-08:00 New Revision: 69bc30b91e41d3ba12e0244251abeff03555e87b URL: https://github.com/llvm/llvm-project/commit/69bc30b91e41d3ba12e0244251abeff03555e87b DIFF: https://github.com/llvm/llvm-project/commit/69bc30b91e41d3ba12e0244251abeff03555e87b.diff LOG: [Fuchsia] Add stage2 cmake options Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index dad434be720da1..bb2ed30690098e 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -38,9 +38,25 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH CURL_ROOT OpenSSL_ROOT httplib_ROOT + + # Deprecated CursesAndPanel_ROOT + + CURSES_INCLUDE_DIRS + CURSES_LIBRARIES + PANEL_LIBRARIES + + # Deprecated Terminfo_ROOT + + Terminfo_LIBRARIES + + # Deprecated LibEdit_ROOT + + LibEdit_INCLUDE_DIRS + LibEdit_LIBRARIES + FUCHSIA_ENABLE_LLDB LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 1d8985f - [Fuchsia] Add lldb-dap to LLDB distribution
Author: Daniel Thornburgh Date: 2023-10-19T14:45:34-07:00 New Revision: 1d8985fc14457429c8120b09ae842250bdd225b1 URL: https://github.com/llvm/llvm-project/commit/1d8985fc14457429c8120b09ae842250bdd225b1 DIFF: https://github.com/llvm/llvm-project/commit/1d8985fc14457429c8120b09ae842250bdd225b1.diff LOG: [Fuchsia] Add lldb-dap to LLDB distribution Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 0dcc35ee1495f55..13bb5ad3546e98f 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -368,6 +368,7 @@ if(FUCHSIA_ENABLE_LLDB) liblldb lldb-server lldb-argdumper +lldb-dap ) if(LLDB_ENABLE_PYTHON) list(APPEND _FUCHSIA_LLDB_COMPONENTS lldb-python-scripts) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 8456c8f - [CMake] Allow enabling Python in Fuchsia LLDB
Author: Daniel Thornburgh Date: 2023-08-25T16:45:05-07:00 New Revision: 8456c8fe4e82e667e90beebb793c472bc0654a4c URL: https://github.com/llvm/llvm-project/commit/8456c8fe4e82e667e90beebb793c472bc0654a4c DIFF: https://github.com/llvm/llvm-project/commit/8456c8fe4e82e667e90beebb793c472bc0654a4c.diff LOG: [CMake] Allow enabling Python in Fuchsia LLDB Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 42d7f36df3f93d..3283c551ccb7cf 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -355,12 +355,16 @@ set(_FUCHSIA_DISTRIBUTIONS Toolchain) if(FUCHSIA_ENABLE_LLDB) list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) list(APPEND _FUCHSIA_DISTRIBUTIONS Debugger) - set(LLVM_Debugger_DISTRIBUTION_COMPONENTS + set(_FUCHSIA_LLDB_COMPONENTS lldb liblldb lldb-server lldb-argdumper -CACHE STRING "") + ) + if(LLDB_ENABLE_PYTHON) +list(APPEND _FUCHSIA_LLDB_COMPONENTS lldb-python-scripts) + endif() + set(LLVM_Debugger_DISTRIBUTION_COMPONENTS ${_FUCHSIA_LLDB_COMPONENTS} CACHE STRING "") endif() set(LLVM_DISTRIBUTIONS ${_FUCHSIA_DISTRIBUTIONS} CACHE STRING "") diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index bbaf8e262b9250..c599f141f9e5b1 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -44,6 +44,14 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH FUCHSIA_ENABLE_LLDB LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT + LLDB_ENABLE_PYTHON + LLDB_EMBED_PYTHON_HOME + LLDB_PYTHON_HOME + LLDB_PYTHON_RELATIVE_PATH + Python3_EXECUTABLE + Python3_LIBRARIES + Python3_INCLUDE_DIRS + Python3_RPATH CMAKE_FIND_PACKAGE_PREFER_CONFIG CMAKE_SYSROOT CMAKE_MODULE_LINKER_FLAGS ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 1b8c7ee - [Fuchsia] Forward libedit flags to stage2
Author: Daniel Thornburgh Date: 2023-06-16T16:55:00-07:00 New Revision: 1b8c7ee4240a42e8914d7ae11db5b19841a5c1dd URL: https://github.com/llvm/llvm-project/commit/1b8c7ee4240a42e8914d7ae11db5b19841a5c1dd DIFF: https://github.com/llvm/llvm-project/commit/1b8c7ee4240a42e8914d7ae11db5b19841a5c1dd.diff LOG: [Fuchsia] Forward libedit flags to stage2 Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 83db4515573ec..cc6bddf76d42a 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -34,11 +34,13 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LLVM_ENABLE_CURL LLVM_ENABLE_HTTPLIB LLVM_ENABLE_TERMINFO + LLVM_ENABLE_LIBEDIT CURL_ROOT OpenSSL_ROOT httplib_ROOT CursesAndPanel_ROOT Terminfo_ROOT + LibEdit_ROOT FUCHSIA_ENABLE_LLDB LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] a1d73b7 - [Fuchsia] Forward terminfo flags to stage 2
Author: Daniel Thornburgh Date: 2023-06-16T16:34:42-07:00 New Revision: a1d73b773b933009633cedc45acc55063c118ddc URL: https://github.com/llvm/llvm-project/commit/a1d73b773b933009633cedc45acc55063c118ddc DIFF: https://github.com/llvm/llvm-project/commit/a1d73b773b933009633cedc45acc55063c118ddc.diff LOG: [Fuchsia] Forward terminfo flags to stage 2 Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 7b9690e8dcfc4..83db4515573ec 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -33,10 +33,12 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LibXml2_ROOT LLVM_ENABLE_CURL LLVM_ENABLE_HTTPLIB + LLVM_ENABLE_TERMINFO CURL_ROOT OpenSSL_ROOT httplib_ROOT CursesAndPanel_ROOT + Terminfo_ROOT FUCHSIA_ENABLE_LLDB LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 518621e - [Fuchsia] Pass CursesAndPanel_ROOT through to stage2
Author: Daniel Thornburgh Date: 2023-06-12T15:43:39-07:00 New Revision: 518621e90b0bcdb1c261e06256b9c845ef674cf2 URL: https://github.com/llvm/llvm-project/commit/518621e90b0bcdb1c261e06256b9c845ef674cf2 DIFF: https://github.com/llvm/llvm-project/commit/518621e90b0bcdb1c261e06256b9c845ef674cf2.diff LOG: [Fuchsia] Pass CursesAndPanel_ROOT through to stage2 Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index bd882647312b9..7b9690e8dcfc4 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -36,6 +36,7 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH CURL_ROOT OpenSSL_ROOT httplib_ROOT + CursesAndPanel_ROOT FUCHSIA_ENABLE_LLDB LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 0a21fb3 - [Fuchsia] Reland: Add llvm-debuginfod to toolchain
Author: Daniel Thornburgh Date: 2023-06-01T11:48:22-07:00 New Revision: 0a21fb3441dcffa2ccd8215f423100fbe4182f12 URL: https://github.com/llvm/llvm-project/commit/0a21fb3441dcffa2ccd8215f423100fbe4182f12 DIFF: https://github.com/llvm/llvm-project/commit/0a21fb3441dcffa2ccd8215f423100fbe4182f12.diff LOG: [Fuchsia] Reland: Add llvm-debuginfod to toolchain Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 8f5aa21be6fb8..78c123f191305 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -296,6 +296,7 @@ set(LLVM_TOOLCHAIN_TOOLS llvm-ar llvm-cov llvm-cxxfilt + llvm-debuginfod llvm-debuginfod-find llvm-dlltool ${LLVM_DRIVER_TARGET} diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 5596cc61359cd..bd882647312b9 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -32,8 +32,10 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LLVM_ENABLE_LIBXML2 LibXml2_ROOT LLVM_ENABLE_CURL + LLVM_ENABLE_HTTPLIB CURL_ROOT OpenSSL_ROOT + httplib_ROOT FUCHSIA_ENABLE_LLDB LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 80614e1 - [Fuchsia] Pass through LLVM_ENABLE_HTTPLIB to stage 2
Author: Daniel Thornburgh Date: 2023-05-31T15:56:20-07:00 New Revision: 80614e16e857d8767174284701aec69381c4 URL: https://github.com/llvm/llvm-project/commit/80614e16e857d8767174284701aec69381c4 DIFF: https://github.com/llvm/llvm-project/commit/80614e16e857d8767174284701aec69381c4.diff LOG: [Fuchsia] Pass through LLVM_ENABLE_HTTPLIB to stage 2 Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 5596cc61359c..e3acd6f29a74 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -32,6 +32,7 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LLVM_ENABLE_LIBXML2 LibXml2_ROOT LLVM_ENABLE_CURL + LLVM_ENABLE_HTTPLIB CURL_ROOT OpenSSL_ROOT FUCHSIA_ENABLE_LLDB ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 731f9ac - [Fuchsia] Add llvm-debuginfod to toolchain
Author: Daniel Thornburgh Date: 2023-05-31T11:01:39-07:00 New Revision: 731f9ac6e53611dabb51c52bfc8011c2aab7790b URL: https://github.com/llvm/llvm-project/commit/731f9ac6e53611dabb51c52bfc8011c2aab7790b DIFF: https://github.com/llvm/llvm-project/commit/731f9ac6e53611dabb51c52bfc8011c2aab7790b.diff LOG: [Fuchsia] Add llvm-debuginfod to toolchain Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 2465cc7b8c2f8..6d868abf21202 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -296,6 +296,7 @@ set(LLVM_TOOLCHAIN_TOOLS llvm-ar llvm-cov llvm-cxxfilt + llvm-debuginfod llvm-debuginfod-find llvm-dlltool ${LLVM_DRIVER_TARGET} ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] a37a621 - [CMake] Switch back to -fPIC for Fuchsia Toolchain
Author: Daniel Thornburgh Date: 2023-04-19T11:48:38-07:00 New Revision: a37a6218f8a029093cc439928d5cce67ccf133de URL: https://github.com/llvm/llvm-project/commit/a37a6218f8a029093cc439928d5cce67ccf133de DIFF: https://github.com/llvm/llvm-project/commit/a37a6218f8a029093cc439928d5cce67ccf133de.diff LOG: [CMake] Switch back to -fPIC for Fuchsia Toolchain This reverts commit 1fab236e6e4575d5af4f4722216df4dd6a872795. Shipping LLDB means distributing libLLDB.so, which will need to be built with PIC. Disabling PIC also removes the libLTO target, which is a hard dependency of the LLDB test suite. Reviewed By: abrachet Differential Revision: https://reviews.llvm.org/D148577 Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index c6debed5007b8..7778a7f84b051 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -16,7 +16,6 @@ set(LLVM_ENABLE_LIBEDIT OFF CACHE BOOL "") set(LLVM_ENABLE_LLD ON CACHE BOOL "") set(LLVM_ENABLE_LTO ON CACHE BOOL "") set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "") -set(LLVM_ENABLE_PIC OFF CACHE BOOL "") set(LLVM_ENABLE_PLUGINS OFF CACHE BOOL "") set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "") set(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "") @@ -136,7 +135,6 @@ foreach(target aarch64-unknown-linux-gnu;armv7-unknown-linux-gnueabihf;i386-unkn list(APPEND BUILTIN_TARGETS "${target}") set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") set(BUILTINS_${target}_CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "") -set(BUILTINS_${target}_CMAKE_POSITION_INDEPENDENT_CODE ON CACHE BOOL "") set(BUILTINS_${target}_CMAKE_C_FLAGS "--target=${target}" CACHE STRING "") set(BUILTINS_${target}_CMAKE_CXX_FLAGS "--target=${target}" CACHE STRING "") set(BUILTINS_${target}_CMAKE_ASM_FLAGS "--target=${target}" CACHE STRING "") @@ -149,7 +147,6 @@ foreach(target aarch64-unknown-linux-gnu;armv7-unknown-linux-gnueabihf;i386-unkn list(APPEND RUNTIME_TARGETS "${target}") set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") set(RUNTIMES_${target}_CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "") -set(RUNTIMES_${target}_CMAKE_POSITION_INDEPENDENT_CODE ON CACHE BOOL "") set(RUNTIMES_${target}_CMAKE_C_FLAGS "--target=${target}" CACHE STRING "") set(RUNTIMES_${target}_CMAKE_CXX_FLAGS "--target=${target}" CACHE STRING "") set(RUNTIMES_${target}_CMAKE_ASM_FLAGS "--target=${target}" CACHE STRING "") @@ -200,7 +197,6 @@ if(FUCHSIA_SDK) list(APPEND BUILTIN_TARGETS "${target}") set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Fuchsia CACHE STRING "") set(BUILTINS_${target}_CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "") -set(BUILTINS_${target}_CMAKE_POSITION_INDEPENDENT_CODE ON CACHE BOOL "") set(BUILTINS_${target}_CMAKE_ASM_FLAGS ${FUCHSIA_${target}_COMPILER_FLAGS} CACHE STRING "") set(BUILTINS_${target}_CMAKE_C_FLAGS ${FUCHSIA_${target}_COMPILER_FLAGS} CACHE STRING "") set(BUILTINS_${target}_CMAKE_CXX_FLAGS ${FUCHSIA_${target}_COMPILER_FLAGS} CACHE STRING "") @@ -216,7 +212,6 @@ if(FUCHSIA_SDK) set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Fuchsia CACHE STRING "") set(RUNTIMES_${target}_CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "") set(RUNTIMES_${target}_CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "") -set(RUNTIMES_${target}_CMAKE_POSITION_INDEPENDENT_CODE ON CACHE BOOL "") set(RUNTIMES_${target}_CMAKE_ASM_FLAGS ${FUCHSIA_${target}_COMPILER_FLAGS} CACHE STRING "") set(RUNTIMES_${target}_CMAKE_C_FLAGS ${FUCHSIA_${target}_COMPILER_FLAGS} CACHE STRING "") set(RUNTIMES_${target}_CMAKE_CXX_FLAGS ${FUCHSIA_${target}_COMPILER_FLAGS} CACHE STRING "") ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 498e150 - [Fuchsia][CMake] Always use multiple distribution model.
Author: Daniel Thornburgh Date: 2023-03-28T10:31:22-07:00 New Revision: 498e1506981f42c32656150b9d8e0408d91f9f23 URL: https://github.com/llvm/llvm-project/commit/498e1506981f42c32656150b9d8e0408d91f9f23 DIFF: https://github.com/llvm/llvm-project/commit/498e1506981f42c32656150b9d8e0408d91f9f23.diff LOG: [Fuchsia][CMake] Always use multiple distribution model. Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index b3fa2b941a54c..7778a7f84b051 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -1,6 +1,5 @@ # This file sets up a CMakeCache for the second stage of a Fuchsia toolchain build. -option(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS "Use multiple distributions") option(FUCHSIA_ENABLE_LLDB "Enable LLDB") set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "") @@ -347,16 +346,9 @@ set(LLVM_Toolchain_DISTRIBUTION_COMPONENTS ${LLVM_TOOLCHAIN_TOOLS} CACHE STRING "") -if(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) - set(_FUCHSIA_DISTRIBUTIONS Toolchain) -else() - set(LLVM_DISTRIBUTION_COMPONENTS ${LLVM_Toolchain_DISTRIBUTION_COMPONENTS} CACHE STRING "") -endif() +set(_FUCHSIA_DISTRIBUTIONS Toolchain) if(FUCHSIA_ENABLE_LLDB) - if(NOT FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) -message(FATAL_ERROR "FUCHSIA_ENABLE_LLDB requires FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS.") - endif() list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) list(APPEND _FUCHSIA_DISTRIBUTIONS Debugger) set(LLVM_Debugger_DISTRIBUTION_COMPONENTS @@ -367,8 +359,5 @@ if(FUCHSIA_ENABLE_LLDB) CACHE STRING "") endif() -if(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) - set(LLVM_DISTRIBUTIONS ${_FUCHSIA_DISTRIBUTIONS} CACHE STRING "") -endif() - +set(LLVM_DISTRIBUTIONS ${_FUCHSIA_DISTRIBUTIONS} CACHE STRING "") set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "") diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 40c2a2af71edd..1032dc82e740e 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -1,6 +1,5 @@ # This file sets up a CMakeCache for a Fuchsia toolchain build. -option(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS "Use multiple distributions") option(FUCHSIA_ENABLE_LLDB "Enable LLDB") set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "") @@ -36,7 +35,6 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH CURL_ROOT OpenSSL_ROOT FUCHSIA_ENABLE_LLDB - FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT CMAKE_FIND_PACKAGE_PREFER_CONFIG @@ -160,22 +158,12 @@ set(_FUCHSIA_BOOTSTRAP_TARGETS llvm-test-depends test-suite test-depends + toolchain-distribution + install-toolchain-distribution + install-toolchain-distribution-stripped + install-toolchain-distribution-toolchain clang) -if(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) - list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS -toolchain-distribution -install-toolchain-distribution -install-toolchain-distribution-stripped -install-toolchain-distribution-toolchain) -else() - list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS -distribution -install-distribution -install-distribution-stripped -install-distribution-toolchain) -endif() - if(FUCHSIA_ENABLE_LLDB) list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 0430324 - [Fuchsia] Add FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS.
Author: Daniel Thornburgh Date: 2023-03-24T16:04:59-07:00 New Revision: 0430324289f2f0206a03a124b86eece8d007b09e URL: https://github.com/llvm/llvm-project/commit/0430324289f2f0206a03a124b86eece8d007b09e DIFF: https://github.com/llvm/llvm-project/commit/0430324289f2f0206a03a124b86eece8d007b09e.diff LOG: [Fuchsia] Add FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS. This flag causes the toolchain distribution to be built using LLVM CMake's multiple distribution feature. The distribution* family of CMake targets would be replaced with the toolchain-distribution* family. This shouldn't otherwise affect the semantics of the build, but it sets up the ability to split out the LLDB build from the main distribution used by Fuchsia. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D146665 Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 037cb67e82189..b3fa2b941a54c 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -1,5 +1,8 @@ # This file sets up a CMakeCache for the second stage of a Fuchsia toolchain build. +option(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS "Use multiple distributions") +option(FUCHSIA_ENABLE_LLDB "Enable LLDB") + set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "") set(PACKAGE_VENDOR Fuchsia CACHE STRING "") @@ -326,7 +329,7 @@ set(LLVM_TOOLCHAIN_TOOLS scan-build-py CACHE STRING "") -set(_FUCHSIA_DISTRIBUTION_COMPONENTS +set(LLVM_Toolchain_DISTRIBUTION_COMPONENTS clang lld clang-apply-replacements @@ -341,13 +344,31 @@ set(_FUCHSIA_DISTRIBUTION_COMPONENTS find-all-symbols builtins runtimes - ${LLVM_TOOLCHAIN_TOOLS}) + ${LLVM_TOOLCHAIN_TOOLS} + CACHE STRING "") + +if(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) + set(_FUCHSIA_DISTRIBUTIONS Toolchain) +else() + set(LLVM_DISTRIBUTION_COMPONENTS ${LLVM_Toolchain_DISTRIBUTION_COMPONENTS} CACHE STRING "") +endif() -set(FUCHSIA_ENABLE_LLDB OFF CACHE BOOL "Enable LLDB") if(FUCHSIA_ENABLE_LLDB) + if(NOT FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) +message(FATAL_ERROR "FUCHSIA_ENABLE_LLDB requires FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS.") + endif() list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) - list(APPEND _FUCHSIA_DISTRIBUTION_COMPONENTS lldb liblldb lldb-server lldb-argdumper) + list(APPEND _FUCHSIA_DISTRIBUTIONS Debugger) + set(LLVM_Debugger_DISTRIBUTION_COMPONENTS +lldb +liblldb +lldb-server +lldb-argdumper +CACHE STRING "") +endif() + +if(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) + set(LLVM_DISTRIBUTIONS ${_FUCHSIA_DISTRIBUTIONS} CACHE STRING "") endif() set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "") -set(LLVM_DISTRIBUTION_COMPONENTS ${_FUCHSIA_DISTRIBUTION_COMPONENTS} CACHE STRING "") diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index 03b96dde7fe86..40c2a2af71edd 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -1,5 +1,8 @@ # This file sets up a CMakeCache for a Fuchsia toolchain build. +option(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS "Use multiple distributions") +option(FUCHSIA_ENABLE_LLDB "Enable LLDB") + set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "") set(PACKAGE_VENDOR Fuchsia CACHE STRING "") @@ -33,6 +36,7 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH CURL_ROOT OpenSSL_ROOT FUCHSIA_ENABLE_LLDB + FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS LLDB_ENABLE_CURSES LLDB_ENABLE_LIBEDIT CMAKE_FIND_PACKAGE_PREFER_CONFIG @@ -156,17 +160,33 @@ set(_FUCHSIA_BOOTSTRAP_TARGETS llvm-test-depends test-suite test-depends - distribution - install-distribution - install-distribution-stripped - install-distribution-toolchain clang) -set(FUCHSIA_ENABLE_LLDB OFF CACHE BOOL "Enable LLDB") +if(FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS) + list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS +toolchain-distribution +install-toolchain-distribution +install-toolchain-distribution-stripped +install-toolchain-distribution-toolchain) +else() + list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS +distribution +install-distribution +install-distribution-stripped +install-distribution-toolchain) +endif() + if(FUCHSIA_ENABLE_LLDB) list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) - list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS check-lldb lldb-test-depends) + list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS +check-lldb +lldb-test-depends +debugger-distribution +install-debugger-distribution +install-debugger-distribution-stripped +install-debugger-distribution-toolchain) endif() + set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "") set(CLANG_BOOTSTRAP_TARGETS ${_FUCHSIA_BOOTSTRAP_TARGETS} CACHE STRING "")
[clang] d505d20 - Revert "[LLVM][OHOS] Clang toolchain and targets"
Author: Daniel Thornburgh Date: 2023-03-14T13:46:21-07:00 New Revision: d505d20a62f4838d8ecb9385af8b8ccce9db67da URL: https://github.com/llvm/llvm-project/commit/d505d20a62f4838d8ecb9385af8b8ccce9db67da DIFF: https://github.com/llvm/llvm-project/commit/d505d20a62f4838d8ecb9385af8b8ccce9db67da.diff LOG: Revert "[LLVM][OHOS] Clang toolchain and targets" This change had tests that break whenever LLVM_ENABLE_LINKER_BUILD_ID is set, as is the case in the Fuchsia target. This reverts commits: f81317a54586dbcef0c14cf512a0770e8ecaab3d 72474afa27570a0a1307f3260f0187b703aa6d84 Added: Modified: clang/include/clang/Basic/Attr.td clang/include/clang/Driver/ToolChain.h clang/lib/Basic/TargetInfo.cpp clang/lib/Basic/Targets.cpp clang/lib/Basic/Targets/ARM.cpp clang/lib/Basic/Targets/OSTargets.h clang/lib/Basic/Targets/X86.h clang/lib/CodeGen/ABIInfo.h clang/lib/CodeGen/TargetInfo.cpp clang/lib/Driver/CMakeLists.txt clang/lib/Driver/Driver.cpp clang/lib/Driver/ToolChains/Arch/AArch64.cpp clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c Removed: clang/lib/Driver/ToolChains/OHOS.cpp clang/lib/Driver/ToolChains/OHOS.h clang/test/Driver/Inputs/ohos_native_tree/llvm/bin/.keep clang/test/Driver/Inputs/ohos_native_tree/llvm/include/c++/v1/.keep clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libc++.so clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_soft/libc++.so clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libc++.so clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_hard_neon-vfpv4/libc++.so clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_soft/libc++.so clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/c++/a7_softfp_neon-vfpv4/libc++.so clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/arm-liteos-ohos/libc++.so clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/.keep clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtbegin.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/clang_rt.crtend.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.builtins.a clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/libclang_rt.profile.a clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/.keep clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtbegin.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/clang_rt.crtend.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.builtins.a clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_soft/libclang_rt.profile.a clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/.keep clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtbegin.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/clang_rt.crtend.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.builtins.a clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/a7_softfp_neon-vfpv4/libclang_rt.profile.a clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtbegin.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/clang_rt.crtend.o clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.builtins.a clang/test/Driver/Inputs/ohos_native_tree/llvm/lib/clang/x.y.z/lib/arm-liteos-ohos/libclang_rt.profile.a clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/.keep clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/include/arm-liteos-ohos/.keep clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/.keep clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/.keep clang/test/Driver/Inputs/ohos_native_tree/sysroot/usr/lib/arm-liteos-ohos/a7_hard_neon-vfpv4/.keep
[clang] 2998a55 - [Fuchsia] Add LLDB to CLANG_BOOTSTRAP_TARGETS.
Author: Daniel Thornburgh Date: 2023-03-10T11:35:32-08:00 New Revision: 2998a5551e29e8340cbdf9fcb3680cc2dedeb208 URL: https://github.com/llvm/llvm-project/commit/2998a5551e29e8340cbdf9fcb3680cc2dedeb208 DIFF: https://github.com/llvm/llvm-project/commit/2998a5551e29e8340cbdf9fcb3680cc2dedeb208.diff LOG: [Fuchsia] Add LLDB to CLANG_BOOTSTRAP_TARGETS. stage2-check-lldb should be run in a 2-stage build to test the final LLDB artifact, so it and related targets must be exported to the stage 1 project. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D145818 Added: Modified: clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index cf63153da89c0..03b96dde7fe86 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -144,7 +144,7 @@ endif() set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "") set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "") -set(CLANG_BOOTSTRAP_TARGETS +set(_FUCHSIA_BOOTSTRAP_TARGETS check-all check-clang check-lld @@ -160,13 +160,15 @@ set(CLANG_BOOTSTRAP_TARGETS install-distribution install-distribution-stripped install-distribution-toolchain - clang CACHE STRING "") + clang) set(FUCHSIA_ENABLE_LLDB OFF CACHE BOOL "Enable LLDB") if(FUCHSIA_ENABLE_LLDB) list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) + list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS check-lldb lldb-test-depends) endif() set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "") +set(CLANG_BOOTSTRAP_TARGETS ${_FUCHSIA_BOOTSTRAP_TARGETS} CACHE STRING "") get_cmake_property(variableNames VARIABLES) foreach(variableName ${variableNames}) ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] c0e9c55 - [Fuchsia] Add LLDB options to stage 1 cmake.
Author: Daniel Thornburgh Date: 2023-03-07T15:04:31-08:00 New Revision: c0e9c55db3b6a2a1287ba96ef3d378b97b72714a URL: https://github.com/llvm/llvm-project/commit/c0e9c55db3b6a2a1287ba96ef3d378b97b72714a DIFF: https://github.com/llvm/llvm-project/commit/c0e9c55db3b6a2a1287ba96ef3d378b97b72714a.diff LOG: [Fuchsia] Add LLDB options to stage 1 cmake. LLVM_ENABLE_PROJECTS is automatically forwarded from stage 1 builds to stage 2 builds, so setting FUCHSIA_ENABLE_LLDB has no effect on two-stage builds. Instead, add FUCHSIA_ENABLE_LLDB to the stage one build as well. This also disables curses and libedit by default for now in both stage1 and stage 2 builds; these should be opt-in. Reviewed By: haowei Differential Revision: https://reviews.llvm.org/D145449 Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake clang/cmake/caches/Fuchsia.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 016fa9eb5f9d2..c874d8cacd197 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -23,6 +23,8 @@ set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "") set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "") set(LLVM_STATIC_LINK_CXX_STDLIB ON CACHE BOOL "") set(LLVM_USE_RELATIVE_PATHS_IN_FILES ON CACHE BOOL "") +set(LLDB_ENABLE_CURSES OFF CACHE BOOL "") +set(LLDB_ENABLE_LIBEDIT OFF CACHE BOOL "") if(WIN32) set(LLVM_USE_CRT_RELEASE "MT" CACHE STRING "") diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index d9b34dd757e9a..cf63153da89c0 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -4,7 +4,7 @@ set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "") set(PACKAGE_VENDOR Fuchsia CACHE STRING "") -set(LLVM_ENABLE_PROJECTS "bolt;clang;clang-tools-extra;lld;llvm;polly" CACHE STRING "") +set(_FUCHSIA_ENABLE_PROJECTS "bolt;clang;clang-tools-extra;lld;llvm;polly") set(LLVM_ENABLE_DIA_SDK OFF CACHE BOOL "") set(LLVM_ENABLE_LIBEDIT OFF CACHE BOOL "") @@ -17,6 +17,8 @@ set(LLVM_ENABLE_ZLIB OFF CACHE BOOL "") set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "") set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "") set(LLVM_USE_RELATIVE_PATHS_IN_FILES ON CACHE BOOL "") +set(LLDB_ENABLE_CURSES OFF CACHE BOOL "") +set(LLDB_ENABLE_LIBEDIT OFF CACHE BOOL "") # Passthrough stage1 flags to stage1. set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH @@ -30,6 +32,9 @@ set(_FUCHSIA_BOOTSTRAP_PASSTHROUGH LLVM_ENABLE_CURL CURL_ROOT OpenSSL_ROOT + FUCHSIA_ENABLE_LLDB + LLDB_ENABLE_CURSES + LLDB_ENABLE_LIBEDIT CMAKE_FIND_PACKAGE_PREFER_CONFIG CMAKE_SYSROOT CMAKE_MODULE_LINKER_FLAGS @@ -157,6 +162,12 @@ set(CLANG_BOOTSTRAP_TARGETS install-distribution-toolchain clang CACHE STRING "") +set(FUCHSIA_ENABLE_LLDB OFF CACHE BOOL "Enable LLDB") +if(FUCHSIA_ENABLE_LLDB) + list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) +endif() +set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "") + get_cmake_property(variableNames VARIABLES) foreach(variableName ${variableNames}) if(variableName MATCHES "^STAGE2_") ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] c65fb80 - [Fuchsia] Add other necessary components to LLDB install.
Author: Daniel Thornburgh Date: 2023-03-03T10:07:08-08:00 New Revision: c65fb80b73aa5087a4bba79e61d96b4d652e1b54 URL: https://github.com/llvm/llvm-project/commit/c65fb80b73aa5087a4bba79e61d96b4d652e1b54 DIFF: https://github.com/llvm/llvm-project/commit/c65fb80b73aa5087a4bba79e61d96b4d652e1b54.diff LOG: [Fuchsia] Add other necessary components to LLDB install. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D145187 Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 54a64a84f231b..016fa9eb5f9d2 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -343,8 +343,8 @@ set(_FUCHSIA_DISTRIBUTION_COMPONENTS set(FUCHSIA_ENABLE_LLDB OFF CACHE BOOL "Enable LLDB") if(FUCHSIA_ENABLE_LLDB) - list(APPEND _FUCHSIA_ENABLE_PROJECTS "lldb") - list(APPEND _FUCHSIA_DISTRIBUTION_COMPONENTS "lldb") + list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb) + list(APPEND _FUCHSIA_DISTRIBUTION_COMPONENTS lldb liblldb lldb-server lldb-argdumper) endif() set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "") ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] 0fecac1 - [Clang] [AVR] Fix USHRT_MAX for 16-bit int.
Author: Daniel Thornburgh Date: 2023-02-27T12:04:26-08:00 New Revision: 0fecac18ffad476b5a4682770f6d8b1f0f176b40 URL: https://github.com/llvm/llvm-project/commit/0fecac18ffad476b5a4682770f6d8b1f0f176b40 DIFF: https://github.com/llvm/llvm-project/commit/0fecac18ffad476b5a4682770f6d8b1f0f176b40.diff LOG: [Clang] [AVR] Fix USHRT_MAX for 16-bit int. For AVR, the definition of USHRT_MAX overflows. Reviewed By: aaron.ballman, #clang-language-wg Differential Revision: https://reviews.llvm.org/D144218 Added: Modified: clang/docs/ReleaseNotes.rst clang/lib/Headers/limits.h clang/test/Headers/limits.cpp Removed: diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index b4c64c4e6051..1cc9e4efac1f 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -237,6 +237,13 @@ AIX Support WebAssembly Support ^^^ +AVR Support +^^^ +- The definition of ``USHRT_MAX`` in the freestanding no longer + overflows on AVR (where ``sizeof(int) == sizeof(unsigned short)``). The type + of ``USHRT_MAX`` is now ``unsigned int`` instead of ``int``, as required by + the C standard. + DWARF Support in Clang -- diff --git a/clang/lib/Headers/limits.h b/clang/lib/Headers/limits.h index 32cc901b26be..354e031a9d7b 100644 --- a/clang/lib/Headers/limits.h +++ b/clang/lib/Headers/limits.h @@ -52,7 +52,11 @@ #define LONG_MIN (-__LONG_MAX__ -1L) #define UCHAR_MAX (__SCHAR_MAX__*2 +1) -#define USHRT_MAX (__SHRT_MAX__ *2 +1) +#if __SHRT_WIDTH__ < __INT_WIDTH__ +#define USHRT_MAX (__SHRT_MAX__ * 2 + 1) +#else +#define USHRT_MAX (__SHRT_MAX__ * 2U + 1U) +#endif #define UINT_MAX (__INT_MAX__ *2U +1U) #define ULONG_MAX (__LONG_MAX__ *2UL+1UL) diff --git a/clang/test/Headers/limits.cpp b/clang/test/Headers/limits.cpp index 730a73982631..fbf6ed0f751c 100644 --- a/clang/test/Headers/limits.cpp +++ b/clang/test/Headers/limits.cpp @@ -3,14 +3,40 @@ // RUN: %clang_cc1 -std=c++11 -ffreestanding -fsyntax-only -verify %s // RUN: %clang_cc1 -std=c17 -ffreestanding -fsyntax-only -verify -x c %s // RUN: %clang_cc1 -std=c2x -ffreestanding -fsyntax-only -verify -x c %s + +// Specifically test 16-bit int platforms. +// RUN: %clang_cc1 -triple=avr -ffreestanding -fsyntax-only -verify -x c %s +// RUN: %clang_cc1 -triple=avr -std=c++11 -ffreestanding -fsyntax-only -verify %s + // expected-no-diagnostics #include +#if __cplusplus +#define EXPR_TYPE_IS(EXPR, TYP) __is_same(__typeof(EXPR), TYP) +#else +#define EXPR_TYPE_IS(EXPR, TYP) _Generic(EXPR, TYP: 1, default: 0) +#endif + _Static_assert(SCHAR_MAX == -(SCHAR_MIN+1), ""); +_Static_assert(EXPR_TYPE_IS(SCHAR_MAX, int), ""); +#if SCHAR_MAX +#endif + _Static_assert(SHRT_MAX == -(SHRT_MIN+1), ""); +_Static_assert(EXPR_TYPE_IS(SHRT_MAX, int), ""); +#if SHRT_MAX +#endif + _Static_assert(INT_MAX == -(INT_MIN+1), ""); +_Static_assert(EXPR_TYPE_IS(INT_MAX, int), ""); +#if INT_MAX +#endif + _Static_assert(LONG_MAX == -(LONG_MIN+1L), ""); +_Static_assert(EXPR_TYPE_IS(LONG_MAX, long), ""); +#if LONG_MAX +#endif _Static_assert(SCHAR_MAX == UCHAR_MAX/2, ""); _Static_assert(SHRT_MAX == USHRT_MAX/2, ""); @@ -18,26 +44,84 @@ _Static_assert(INT_MAX == UINT_MAX/2, ""); _Static_assert(LONG_MAX == ULONG_MAX/2, ""); _Static_assert(SCHAR_MIN == -SCHAR_MAX-1, ""); +_Static_assert(EXPR_TYPE_IS(SCHAR_MIN, int), ""); +#if SCHAR_MIN +#endif + _Static_assert(SHRT_MIN == -SHRT_MAX-1, ""); +_Static_assert(EXPR_TYPE_IS(SHRT_MIN, int), ""); +#if SHRT_MIN +#endif + _Static_assert(INT_MIN == -INT_MAX-1, ""); +_Static_assert(EXPR_TYPE_IS(INT_MIN, int), ""); +#if INT_MIN +#endif + _Static_assert(LONG_MIN == -LONG_MAX-1L, ""); +_Static_assert(EXPR_TYPE_IS(LONG_MIN, long), ""); +#if LONG_MIN +#endif _Static_assert(UCHAR_MAX == (unsigned char)~0ULL, ""); +_Static_assert(UCHAR_MAX <= INT_MAX ? + EXPR_TYPE_IS(UCHAR_MAX, int) : + EXPR_TYPE_IS(UCHAR_MAX, unsigned int), ""); +#if UCHAR_MAX +#endif + _Static_assert(USHRT_MAX == (unsigned short)~0ULL, ""); +_Static_assert(USHRT_MAX <= INT_MAX ? + EXPR_TYPE_IS(USHRT_MAX, int) : + EXPR_TYPE_IS(USHRT_MAX, unsigned int), ""); +#if USHRT_MAX +#endif + _Static_assert(UINT_MAX == (unsigned int)~0ULL, ""); +_Static_assert(EXPR_TYPE_IS(UINT_MAX, unsigned int), ""); +#if UINT_MAX +#endif + _Static_assert(ULONG_MAX == (unsigned long)~0ULL, ""); +_Static_assert(EXPR_TYPE_IS(ULONG_MAX, unsigned long), ""); +#if ULONG_MAX +#endif _Static_assert(MB_LEN_MAX >= 1, ""); +#if MB_LEN_MAX +#endif _Static_assert(CHAR_BIT >= 8, ""); +#if CHAR_BIT +#endif _Static_assert(CHAR_MIN == (((char)-1 < (char)0) ? -CHAR_MAX-1 : 0), ""); +_Static_assert(EXPR_TYPE_IS(CHAR_MIN, int), ""); +#if CHAR_MIN +#endif + _Static_assert(CHAR_MAX == (((char)-1 < (char)0) ? -(CHAR_MIN+1) : (char)~0ULL), "");
[clang] 7bc9dc2 - [Fuchsia] Add FUCHSIA_ENABLE_LLDB option.
Author: Daniel Thornburgh Date: 2023-02-13T15:49:45-08:00 New Revision: 7bc9dc26bc9beb159547f7160d852543bc52 URL: https://github.com/llvm/llvm-project/commit/7bc9dc26bc9beb159547f7160d852543bc52 DIFF: https://github.com/llvm/llvm-project/commit/7bc9dc26bc9beb159547f7160d852543bc52.diff LOG: [Fuchsia] Add FUCHSIA_ENABLE_LLDB option. This CMake option builds/installs LLDB as part of the Fuchsia toolchain. Once this is better supported, the effects of this will be inlined into the toolchain cache file. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D143794 Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake Removed: diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index 4d2be0b47d1f1..5a9681a7cbae0 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -4,7 +4,7 @@ set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "") set(PACKAGE_VENDOR Fuchsia CACHE STRING "") -set(LLVM_ENABLE_PROJECTS "bolt;clang;clang-tools-extra;lld;llvm;polly" CACHE STRING "") +set(_FUCHSIA_ENABLE_PROJECTS "bolt;clang;clang-tools-extra;lld;llvm;polly") set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "") set(LLVM_ENABLE_BACKTRACES OFF CACHE BOOL "") @@ -321,7 +321,7 @@ set(LLVM_TOOLCHAIN_TOOLS scan-build-py CACHE STRING "") -set(LLVM_DISTRIBUTION_COMPONENTS +set(_FUCHSIA_DISTRIBUTION_COMPONENTS clang lld clang-apply-replacements @@ -336,5 +336,13 @@ set(LLVM_DISTRIBUTION_COMPONENTS find-all-symbols builtins runtimes - ${LLVM_TOOLCHAIN_TOOLS} - CACHE STRING "") + ${LLVM_TOOLCHAIN_TOOLS}) + +set(FUCHSIA_ENABLE_LLDB OFF CACHE BOOL "Enable LLDB") +if(FUCHSIA_ENABLE_LLDB) + list(APPEND _FUCHSIA_ENABLE_PROJECTS "lldb") + list(APPEND _FUCHSIA_DISTRIBUTION_COMPONENTS "lldb") +endif() + +set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "") +set(LLVM_DISTRIBUTION_COMPONENTS ${_FUCHSIA_DISTRIBUTION_COMPONENTS} CACHE STRING "") ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits