[llvm-branch-commits] [clang] [libcxx] [clang] fix printing of canonical template template parameters take 2 (PR #93448)
https://github.com/Endilll commented: Changes to `Sema.h` and DR test suite look good. https://github.com/llvm/llvm-project/pull/93448 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement pointer authentication for C++ virtual functions, v-tables, and VTTs (PR #94056)
https://github.com/Endilll commented: `Sema.h` changes look good. https://github.com/llvm/llvm-project/pull/94056 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement pointer authentication for C++ virtual functions, v-tables, and VTTs (PR #94056)
Endilll wrote: @asl It would be nice if you submit the next round of review as a single review, instead of 29 individual comments. https://github.com/llvm/llvm-project/pull/94056 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Finish implementation of P0522 (PR #96023)
https://github.com/Endilll commented: `Sema.h` changes look good. https://github.com/llvm/llvm-project/pull/96023 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] release/19.x: [clang] Remove `__is_layout_compatible` from revertible type traits list (#100572) (PR #100590)
Endilll wrote: Release note for `__is_layout_compatible` is already present. This change in particular is not worth a release note. https://github.com/llvm/llvm-project/pull/100590 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] release/19.x: [clang][Sema] Add support for OpenBSD's syslog format attribute (#97366) (PR #100703)
Endilll wrote: I'm not sure we want to backport a feature this late. I also don't see any discussion of this being critical for 19 in #97366 https://github.com/llvm/llvm-project/pull/100703 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [llvm] release/19.x: [clang] Fix definition of layout-compatible to ignore empty classes (PR #101491)
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/101491 Backport of #92103, as suggested by me and Aaron Ballman in https://github.com/llvm/llvm-project/pull/92103#discussion_r1699172578 and https://github.com/llvm/llvm-project/pull/92103#discussion_r1699982348 respectively. >From c6c4598d090a90675c9b19c5c33c33f84c976b1d Mon Sep 17 00:00:00 2001 From: Mital Ashok Date: Thu, 1 Aug 2024 15:05:46 +0100 Subject: [PATCH] [Clang] Fix definition of layout-compatible to ignore empty classes (#92103) Also changes the behaviour of `__builtin_is_layout_compatible` None of the historic nor the current definition of layout-compatible classes mention anything about base classes (other than implicitly through being standard-layout) and are defined in terms of members, not direct members. --- clang/include/clang/AST/DeclCXX.h | 7 +++ clang/lib/AST/DeclCXX.cpp | 36 +++ clang/lib/Sema/SemaChecking.cpp| 74 ++ clang/test/SemaCXX/type-traits.cpp | 11 + llvm/include/llvm/ADT/STLExtras.h | 6 +++ 5 files changed, 84 insertions(+), 50 deletions(-) diff --git a/clang/include/clang/AST/DeclCXX.h b/clang/include/clang/AST/DeclCXX.h index fb52ac804849d8..0923736a95f97e 100644 --- a/clang/include/clang/AST/DeclCXX.h +++ b/clang/include/clang/AST/DeclCXX.h @@ -1210,6 +1210,13 @@ class CXXRecordDecl : public RecordDecl { return D.HasPublicFields || D.HasProtectedFields || D.HasPrivateFields; } + /// If this is a standard-layout class or union, any and all data members will + /// be declared in the same type. + /// + /// This retrieves the type where any fields are declared, + /// or the current class if there is no class with fields. + const CXXRecordDecl *getStandardLayoutBaseWithFields() const; + /// Whether this class is polymorphic (C++ [class.virtual]), /// which means that the class contains or inherits a virtual function. bool isPolymorphic() const { return data().Polymorphic; } diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index b573c2713a3aaa..9a3ede426e9143 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -561,6 +561,42 @@ void CXXRecordDecl::addedClassSubobject(CXXRecordDecl *Subobj) { data().StructuralIfLiteral = false; } +const CXXRecordDecl *CXXRecordDecl::getStandardLayoutBaseWithFields() const { + assert( + isStandardLayout() && + "getStandardLayoutBaseWithFields called on a non-standard-layout type"); +#ifdef EXPENSIVE_CHECKS + { +unsigned NumberOfBasesWithFields = 0; +if (!field_empty()) + ++NumberOfBasesWithFields; +llvm::SmallPtrSet UniqueBases; +forallBases([&](const CXXRecordDecl *Base) -> bool { + if (!Base->field_empty()) +++NumberOfBasesWithFields; + assert( + UniqueBases.insert(Base->getCanonicalDecl()).second && + "Standard layout struct has multiple base classes of the same type"); + return true; +}); +assert(NumberOfBasesWithFields <= 1 && + "Standard layout struct has fields declared in more than one class"); + } +#endif + if (!field_empty()) +return this; + const CXXRecordDecl *Result = this; + forallBases([&](const CXXRecordDecl *Base) -> bool { +if (!Base->field_empty()) { + // This is the base where the fields are declared; return early + Result = Base; + return false; +} +return true; + }); + return Result; +} + bool CXXRecordDecl::hasConstexprDestructor() const { auto *Dtor = getDestructor(); return Dtor ? Dtor->isConstexpr() : defaultedDestructorIsConstexpr(); diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index cf1196ad23c217..9088b5e285bf81 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -13664,10 +13664,11 @@ void Sema::DiagnoseSelfMove(const Expr *LHSExpr, const Expr *RHSExpr, //===--- Layout compatibility --// -static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2); +static bool isLayoutCompatible(const ASTContext &C, QualType T1, QualType T2); /// Check if two enumeration types are layout-compatible. -static bool isLayoutCompatible(ASTContext &C, EnumDecl *ED1, EnumDecl *ED2) { +static bool isLayoutCompatible(const ASTContext &C, const EnumDecl *ED1, + const EnumDecl *ED2) { // C++11 [dcl.enum] p8: // Two enumeration types are layout-compatible if they have the same // underlying type. @@ -13678,8 +13679,8 @@ static bool isLayoutCompatible(ASTContext &C, EnumDecl *ED1, EnumDecl *ED2) { /// Check if two fields are layout-compatible. /// Can be used on union members, which are exempt from alignment requirement /// of common initial sequence. -static bool isLayoutCompatible(ASTContext &C, FieldDecl *Field1, - FieldDecl *Field2, +static bool isLayoutCompatible(const ASTC
[llvm-branch-commits] [clang] [llvm] release/19.x: [clang] Fix definition of layout-compatible to ignore empty classes (PR #101491)
https://github.com/Endilll milestoned https://github.com/llvm/llvm-project/pull/101491 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [llvm] release/19.x: [clang] Fix definition of layout-compatible to ignore empty classes (PR #101491)
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/101491 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [Clang] Add a release note deprecating __is_nullptr (PR #101638)
https://github.com/Endilll milestoned https://github.com/llvm/llvm-project/pull/101638 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [Clang] Add a release note deprecating __is_nullptr (PR #101638)
https://github.com/Endilll approved this pull request. https://github.com/llvm/llvm-project/pull/101638 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [llvm] release/19.x: [clang] Fix definition of layout-compatible to ignore empty classes (PR #101491)
Endilll wrote: This should only affect `__builtin_is_layout_compatible` introduced in Clang 19, so we don't have an ABI we need to be compatible with. https://github.com/llvm/llvm-project/pull/101491 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] release/19.x: [libclang] Fix symbol version of `getBinaryOpcode` functions (#101820) (PR #101824)
https://github.com/Endilll approved this pull request. I don't consider this critical, but I can see this becoming a source of confusion for a long time. https://github.com/llvm/llvm-project/pull/101824 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Revise IDE folder structure (PR #89743)
Endilll wrote: CC @AaronBallman https://github.com/llvm/llvm-project/pull/89743 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (PR #92854)
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/92854 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (PR #92854)
@@ -10082,7 +10082,9 @@ class Sema final : public SemaBase { bool SubstTemplateArgument(const TemplateArgumentLoc &Input, const MultiLevelTemplateArgumentList &TemplateArgs, - TemplateArgumentLoc &Output); + TemplateArgumentLoc &Output, + SourceLocation Loc = {}, + const DeclarationName &Entity = {}); Endilll wrote: Changes to both declaration and implementation of `SubstTemplateArgument` doesn't seem related. https://github.com/llvm/llvm-project/pull/92854 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (PR #92854)
https://github.com/Endilll commented: It looks like you have two sets of changes here: 1) the ones related to `TemplateTypeParmDecl::getDefaultArgument()` 2) the ones related to `Sema::SubstTemplateArgument()` You don't seem to touch the latter in PR description. It would be nice if you can explain why you do both sets of changes in one PR, or split the PR in two. https://github.com/llvm/llvm-project/pull/92854 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (PR #92854)
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/92854 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (PR #92854)
@@ -10082,7 +10082,9 @@ class Sema final : public SemaBase { bool SubstTemplateArgument(const TemplateArgumentLoc &Input, const MultiLevelTemplateArgumentList &TemplateArgs, - TemplateArgumentLoc &Output); + TemplateArgumentLoc &Output, + SourceLocation Loc = {}, + const DeclarationName &Entity = {}); Endilll wrote: Can you add this to the description? https://github.com/llvm/llvm-project/pull/92854 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (PR #92854)
https://github.com/Endilll commented: LGTM, but you should wait for someone with more knowledge of our templates. https://github.com/llvm/llvm-project/pull/92854 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (PR #92854)
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/92854 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [libcxx] [clang] Preserve Qualifiers and type sugar in TemplateNames (PR #93433)
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/93433 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [libcxx] [clang] Preserve Qualifiers and type sugar in TemplateNames (PR #93433)
https://github.com/Endilll commented: `Sema.h` changes look good to me. https://github.com/llvm/llvm-project/pull/93433 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [libcxx] [clang] PR for llvm/llvm-project#79762 (PR #79763)
https://github.com/Endilll approved this pull request. Changes to DR tests look good to me. https://github.com/llvm/llvm-project/pull/79763 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -1503,6 +1505,7 @@ namespace cwg389 { // cwg389: no typedef enum {} const D; // #cwg389-D }; template struct T {}; + // cxx98-note@-1 5{{template parameter is declared here}} Endilll wrote: Those, too, should go to their respective errors https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
https://github.com/Endilll commented: Good job following the way expected directives are written in C++ DR tests, but I have to ask you to fix the remaining discrepancies to keep them consistent. I also spotted the same note emitted twice for the same line. That seems unfortunate. https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -637,6 +641,8 @@ namespace cwg431 { // cwg431: 2.8 namespace cwg432 { // cwg432: 3.0 template struct A {}; + // expected-note@-1{{template parameter is declared here}} + // since-cxx11-note@-2 {{template parameter is declared here}} Endilll wrote: Hmm, why do you have this note emitted twice in C++11 and on? https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
https://github.com/Endilll edited https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -83,6 +83,7 @@ namespace cwg603 { // cwg603: 3.1 typedef S<'\001'> S1; typedef S<(1ul << __CHAR_BIT__) + 1> S1; // since-cxx11-error@-1 {{non-type template argument evaluates to 257, which cannot be narrowed to type 'unsigned char'}} + // since-cxx11-note@-4 {{template parameter is declared here}} Endilll wrote: Use a label instead of `-4`, readers shouldn't have to count lines to understand which line the note is emitted for. https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -637,6 +641,8 @@ namespace cwg431 { // cwg431: 2.8 namespace cwg432 { // cwg432: 3.0 template struct A {}; + // expected-note@-1{{template parameter is declared here}} + // since-cxx11-note@-2 {{template parameter is declared here}} Endilll wrote: ```suggestion // since-cxx11-note@-2 {{template parameter is declared here}} ``` https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -318,6 +318,7 @@ namespace cwg319 { // cwg319: no pa parr; // ok, type has linkage despite using 'n1' template struct X {}; + // cxx98-note@-1 2{{template parameter is declared here}} Endilll wrote: Those two notes should go to their respective errors https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -1018,9 +1019,9 @@ namespace cwg62 { // cwg62: 2.9 struct A { struct { int n; } b; }; - template struct X {}; - template T get() { return get(); } - template int take(T) { return 0; } + template struct X {}; // cxx98-note 6{{template parameter is declared here}} Endilll wrote: Those notes have to be places together with their respective errors, one by one, without matching for multiple notes with one expected directive. https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -637,6 +641,8 @@ namespace cwg431 { // cwg431: 2.8 namespace cwg432 { // cwg432: 3.0 template struct A {}; + // expected-note@-1{{template parameter is declared here}} + // since-cxx11-note@-2 {{template parameter is declared here}} Endilll wrote: Oh, put them closer to their respective errors then. https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] release/20.x: [clang] Handle f(no-)strict-overflow, f(no-)wrapv, f(no-)wrapv-pointer like gcc (#126524) (PR #126535)
Endilll wrote: @nico I think that the release note from #122486 doesn't cover changes in this PR. Can you expand existing release notes or add another one, which explains how we handle combination of those driver arguments? https://github.com/llvm/llvm-project/pull/126535 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang-tools-extra] [clang] improve class type sugar preservation in pointers to members (PR #130537)
https://github.com/Endilll commented: Changes to C++ DR tests look good. > FIXME: why diagnostic says just `Y` and not `cwg794::Y`, like `cwg794::X`? This FIXME resolved in the opposite direction I anticipated back when I wrote it, but that's fine, as long as we print both types in a consistent manner. https://github.com/llvm/llvm-project/pull/130537 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -1018,9 +1019,9 @@ namespace cwg62 { // cwg62: 2.9 struct A { struct { int n; } b; }; - template struct X {}; - template T get() { return get(); } - template int take(T) { return 0; } + template struct X {}; // cxx98-note 6{{template parameter is declared here}} Endilll wrote: > There was no discussion about these points I raised on that PR, was there any > other discussions in other mediums, like Discourse? No. > I think the more important question is, do we need this amount of detail for > the diagnostic messages of DR tests specifically, what makes them more > special than the other tests in this case? It happened with DR tests, because I've been spending a significant chunk of my time in `clang/test/CXX/drs`, so I had a holistic view on everything in there, and was willing to improve the status quo. If we as a community think that this approach to `-verify` tests is good, it can be applied elsewhere too, but that's an RFC material, I guess. I remember @erichkeane being sad that so little tests use bookmarks, precisely for readability reasons for reviewers, so I think there is support to write expected directives in a similar way outside of DR tests. https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] [clang] Implement instantiation context note for checking template parameters (PR #126088)
@@ -1018,9 +1019,9 @@ namespace cwg62 { // cwg62: 2.9 struct A { struct { int n; } b; }; - template struct X {}; - template T get() { return get(); } - template int take(T) { return 0; } + template struct X {}; // cxx98-note 6{{template parameter is declared here}} Endilll wrote: Good point about tooling, I think that something along the lines of `-verify-check-directives-order` sounds implementable, and I'll look into that in the future. For now, I would like to see the changes I requested, for consistency with the rest of DR tests if anything else. I can do that myself if you don't have time for this. https://github.com/llvm/llvm-project/pull/126088 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux (PR #142694)
https://github.com/Endilll commented: > We're using LLVM_ENABLE_RUNTIMES. It uses the just built clang to build the > runtimes specified. That explains it, thank you. There's still an outstanding question of unrelated changes to libc++ tests that are included in this PR. https://github.com/llvm/llvm-project/pull/142694 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux (PR #142694)
https://github.com/Endilll approved this pull request. https://github.com/llvm/llvm-project/pull/142694 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] [CI] Migrate to runtimes build (PR #142696)
@@ -49,8 +49,7 @@ }, "lld": {"bolt", "cross-project-tests"}, # TODO(issues/132795): LLDB should be enabled on clang changes. -"clang": {"clang-tools-extra", "compiler-rt", "cross-project-tests"}, -"clang-tools-extra": {"libc"}, Endilll wrote: I see that `clang-tools-extra` used to depend on `libc`, but I can't find it anywhere now https://github.com/llvm/llvm-project/pull/142696 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [CI] Use Github Native Groups in monolithic-* scripts (PR #143481)
https://github.com/Endilll approved this pull request. It would be nice to give them properly formatted names (e.g. `Ninja Runtimes (Clang modules)`), because when I wrote them, the context I expected them to be seen was local editor with lengthy log file opened. Now it's going to be in UI. https://github.com/llvm/llvm-project/pull/143481 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux (PR #142694)
https://github.com/Endilll commented: Something feels wrong with this PR: 1) There's a "full changes here" button on the Files Changed tab, which shows me a bunch of changes to libc++ tests adding `#include ` 2) In the new version, I don't see `LLVM_ENABLE_RUTIMES` passed to cmake. Not even `CMAKE_BUILD_TYPE` and `CMAKE_CXX_COMPILER`. What's going on? https://github.com/llvm/llvm-project/pull/142694 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux (PR #142694)
Endilll wrote: > I'm not sure how you're seeing this.   https://github.com/llvm/llvm-project/pull/142694 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux (PR #142694)
Endilll wrote: I just opened 9e3490b51f85d1aff3978dc32aadde4531363774 in my local git, and yes, all libc++ changes are there alongside changes to `monolithic-linux.sh` that we're interested in https://github.com/llvm/llvm-project/pull/142694 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm] [CI] Migrate to runtimes build (PR #142696)
Endilll wrote: > > It doesn't relate to multilib, I understand that, but does it mean we're > > going to test more than one runtime or that we'll test the same runtime > > multiple ways? > > It's runtimes that we test in multiple ways (`-std=c++26` and > `enable_modules=clang` currently). I felt multiconfig covered that and > couldn't really think of a better name. If anyone else has better ideas I'd > be happy to change it up. Multiconfig in this context has some strong associations with CMake's Ninja Multi-Config generator for me. My suggestion is `needs_reconfig`. https://github.com/llvm/llvm-project/pull/142696 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang] release/21.x: [libclang] Fix version for symbol clang_visitCXXMethods (#148958) (PR #148980)
https://github.com/Endilll approved this pull request. https://github.com/llvm/llvm-project/pull/148980 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits