[PATCH] D84846: [MC] Add support for generating missing GNU build notes

2020-07-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. Herald added subscribers: llvm-commits, cfe-commits, dang, hiraditya, emaste. Herald added a reviewer: espindola. Herald added projects: clang, LLVM. tbaeder requested review of this revision. Herald added a subscriber: MaskRay. Add support for generating missing GNU

[PATCH] D75844: [clang] Set begin loc on GNU attribute parsed attrs

2020-06-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. I'm looking at this again and I am not sure how it is meant to work. For example in `Parser::parseClassSpecifier` in `ParseDeclCXX.cpp`. Here `attrs` is a local variable of type `ParsedAttributesWithRange`, already before my patch. `attrs` is then passed to 1. `MaybePar

[PATCH] D84846: [MC] Add support for generating missing GNU build notes

2020-08-10 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 284308. tbaeder added a comment. Add a test that checks that clang accepts `-Wa,--generate-missing-build-notes=yes` and `-Wa,--generate-missing-build-notes=no` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84846/new/ https://reviews.llvm.org/D8484

[PATCH] D132749: Expose QualType::getUnqualifiedType in libclang

2022-08-27 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/include/clang-c/Index.h:3775 + * + * Executing \c clang_getUnuqalifiedType() on a \c CXType that + * represents \c DifferenceType, will desugar to a type representing Typo: Unuqualified Comment a

[PATCH] D132821: [clang][Parse] Fix crash when emitting template diagnostic

2022-08-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The integer value of the enum here is `6`, which wasn't covered by the diagnostic.

[PATCH] D132829: [clang][Interp] Handle ImplictValueInitExprs

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, shafik, erichkeane, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. I don't have a test case handy for them since I'm n

[PATCH] D132831: [clang][Interp] Handle SubstNonTypeTemplateParmExprs

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, shafik, erichkeane, tahonermann. Herald added a subscriber: kristof.beyls. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. These are

[PATCH] D132832: [clang][Interp] Handle missing local initializers better

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, shafik, erichkeane, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This is illegal in a constexpr context. We can alre

[PATCH] D132832: [clang][Interp] Handle missing local initializers better

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456281. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132832/new/ https://reviews.llvm.org/D132832 Files: clang/lib/AST/Interp/ByteCodeEmitter.cpp clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST

[PATCH] D132832: [clang][Interp] Handle missing local initializers better

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeStmtGen.cpp:245 + +if (!Init) + return false; erichkeane wrote: > Would be nice to test this before the work to allocate Offset? Ah, sure. Good catch. CHANGES SINCE LAST ACTION h

[PATCH] D132832: [clang][Interp] Handle missing local initializers better

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456328. tbaeder marked 2 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132832/new/ https://reviews.llvm.org/D132832 Files: clang/lib/AST/Interp/ByteCodeEmitter.cpp clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/

[PATCH] D132821: [clang][Parse] Fix crash when emitting template diagnostic

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/test/Parser/cxx-concept-declaration.cpp:3 // Support parsing of concepts // Disabled for now. I guess we can drop these two lines now. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https:

[PATCH] D132821: [clang][Parse] Fix crash when emitting template diagnostic

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:779 + "|refers to a variable template||refers to a concept|" + "refers to a concept template}1">; def err_id_after_template_in_nested_name_spec : Error< cjdb wrote: >

[PATCH] D132831: [clang][Interp] Handle SubstNonTypeTemplateParmExprs

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:273 +const SubstNonTypeTemplateParmExpr *E) { + return this->visit(E->getReplacement()); +} erichkeane wrote: > Is there nothing special that has to happen when these are ref

[PATCH] D132727: [clang][Interp] Implement array initializers and subscript expressions

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456376. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132727/new/ https://reviews.llvm.org/D132727 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/ByteCodeStmtGen.cpp clang/lib/AST/I

[PATCH] D132727: [clang][Interp] Implement array initializers and subscript expressions

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D132727#3755571 , @aaron.ballman wrote: > Precommit CI found a relevant failure: That needs the lvalue-to-rvalue conversion patch first. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132727/new/ https://reviews.llv

[PATCH] D132821: [clang][Parse] Fix crash when emitting template diagnostic

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456389. tbaeder marked 3 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132821/new/ https://reviews.llvm.org/D132821 Files: clang/include/clang/Basic/DiagnosticParseKinds.td clang/test/Parser/cxx-concept-declaration.cpp

[PATCH] D132831: [clang][Interp] Handle SubstNonTypeTemplateParmExprs

2022-08-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:273 +const SubstNonTypeTemplateParmExpr *E) { + return this->visit(E->getReplacement()); +} tahonermann wrote: > erichkeane wrote: > > tbaeder wrote: > > > erichkeane wrote:

[PATCH] D132821: [clang][Parse] Fix crash when emitting template diagnostic

2022-08-30 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGef1bb11a34de: [clang][Parse] Fix crash when emitting template diagnostic (authored by tbaeder). Changed prior to commit: https://reviews.llvm.org/D132821?vs=456389&id=456643#toc Repository: rG LLVM G

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-08-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, shafik, erichkeane, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. And add a couple of tests for it. Notably, this is

[PATCH] D132136: [clang] Perform implicit lvalue-to-rvalue cast with new interpreter

2022-08-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D132136#3755724 , @aaron.ballman wrote: > In D132136#3753290 , @tbaeder wrote: > >> In D132136#3751702 , @erichkeane >> wrote: >> >>> Would b

[PATCH] D132829: [clang][Interp] Handle ImplictValueInitExprs

2022-08-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456915. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132829/new/ https://reviews.llvm.org/D132829 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Opcodes.td clang/test/AST/Interp/ar

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-08-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456917. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132997/new/ https://reviews.llvm.org/D132997 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/references.cpp Index: clang/test/AST/Interp/references.cpp =

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-08-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456944. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132997/new/ https://reviews.llvm.org/D132997 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/arrays.cpp clang/test/AST/Interp/references.cpp Index: clang/test/AST/Inte

[PATCH] D132727: [clang][Interp] Implement array initializers and subscript expressions

2022-08-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked an inline comment as done. tbaeder added inline comments. Comment at: clang/test/AST/Interp/arrays.cpp:41-44 +template +constexpr T getElementOf(T* array, int i) { + return array[i]; +} aaron.ballman wrote: > A similar test we might want to add (w

[PATCH] D132727: [clang][Interp] Implement array initializers and subscript expressions

2022-08-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 456953. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132727/new/ https://reviews.llvm.org/D132727 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/In

[PATCH] D132831: [clang][Interp] Handle SubstNonTypeTemplateParmExprs

2022-09-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked 3 inline comments as done. tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:273 +const SubstNonTypeTemplateParmExpr *E) { + return this->visit(E->getReplacement()); +} tbaeder wrote: > tahonermann wrote: > >

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-09-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 457193. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132997/new/ https://reviews.llvm.org/D132997 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/arrays.cpp clang/test/AST/Interp/references.cpp Index: clang/test/AST/Inte

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-09-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D132997#3763094 , @shafik wrote: > I think like @aaron.ballman was saying in another PR you should aim for as > complete set of tests as possible even if you have to comment one that can't > work yet. For example cases that w

[PATCH] D132136: [clang] Perform implicit lvalue-to-rvalue cast with new interpreter

2022-09-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. @aaron.ballman Can you comment on my last question? I'd like to land this patch since the others depend on it. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132136/new/ https://reviews.llvm.org/D132136 ___ cfe-commit

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-09-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 457498. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132997/new/ https://reviews.llvm.org/D132997 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/arrays.cpp clang/test/AST/Interp/references.cpp Index: clang/test/AST/Inte

[PATCH] D132831: [clang][Interp] Handle SubstNonTypeTemplateParmExprs

2022-09-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 457766. tbaeder marked 2 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132831/new/ https://reviews.llvm.org/D132831 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/test/AST/I

[PATCH] D132727: [clang][Interp] Implement array initializers and subscript expressions

2022-09-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 457767. tbaeder marked 6 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132727/new/ https://reviews.llvm.org/D132727 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/In

[PATCH] D132829: [clang][Interp] Handle ImplictValueInitExprs

2022-09-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked an inline comment as done. tbaeder added inline comments. Comment at: clang/test/AST/Interp/arrays.cpp:13 +/// currently evaluate other parts of it. +#if 0 +struct fred { aaron.ballman wrote: > I wish we could find some solution that didn't requi

[PATCH] D132136: [clang] Perform implicit lvalue-to-rvalue cast with new interpreter

2022-09-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D132136#3766958 , @aaron.ballman wrote: > On the one hand, I'm not comfortable landing this without adequate testing, > especially because you want to build more stuff on top of it. I think we need > to make sure the foundat

[PATCH] D132136: [clang] Perform implicit lvalue-to-rvalue cast with new interpreter

2022-09-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 457838. tbaeder added a comment. Add a unit test. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132136/new/ https://reviews.llvm.org/D132136 Files: clang/lib/AST/ExprConstant.cpp clang/test/AST/Interp/literals.cpp clang/unittests/AST/Evaluate

[PATCH] D133248: [clang] Fix crash upon stray coloncolon token in C2x mode

2022-09-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/include/clang/Parse/Parser.h:863 bool MightBeCXXScopeToken() { -return Tok.is(tok::identifier) || Tok.is(tok::coloncolon) || - (Tok.is(tok::annot_template_id) && -NextToken().is(tok::coloncolon)) || -

[PATCH] D132136: [clang] Perform implicit lvalue-to-rvalue cast with new interpreter

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5777c05d1609: [clang] Perform implicit lvalue-to-rvalue cast with new interpreter (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132136

[PATCH] D132286: [clang][Interp] Implement function calls

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8e41e6a4eafa: [clang][Interp] Implement function calls (authored by tbaeder). Changed prior to commit: https://reviews.llvm.org/D132286?vs=455791&id=458645#toc Repository: rG LLVM Github Monorepo CH

[PATCH] D132739: [clang][Interp] Implement IntegralToBoolean casts

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. tbaeder marked an inline comment as done. Closed by commit rG95e6a407d92b: [clang][Interp] Implement IntegralToBoolean casts (authored by tbaeder). Repository: rG LL

[PATCH] D132829: [clang][Interp] Handle ImplictValueInitExprs

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. tbaeder marked an inline comment as done. Closed by commit rG4d700ffe67be: [clang][Interp] Implement ImplicitValueInitExprs (authored by tbaeder). Repository: rG LLV

[PATCH] D132831: [clang][Interp] Handle SubstNonTypeTemplateParmExprs

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG5c4dbff0b6c3: [clang][Interp] Handle SubstNonTypeTemplateParmExprs (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D132832: [clang][Interp] Handle missing local initializers better

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGaa7c5c9c4e5e: [clang][Interp] Handle missing local initializers better (authored by tbaeder). Changed prior to commit: https://reviews.llvm.org/D1

[PATCH] D132727: [clang][Interp] Implement array initializers and subscript expressions

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG3a7d476087df: [clang][Interp] Implement array initializers and subscript expressions (authored by tbaeder). Repository: rG LLVM Github Monorepo C

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-09-07 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 458662. tbaeder marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132997/new/ https://reviews.llvm.org/D132997 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/arrays.cpp clang/test/AST/Interp/

[PATCH] D132727: [clang][Interp] Implement array initializers and subscript expressions

2022-09-08 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Thanks @MaskRay, I thought this was fixed by https://github.com/llvm/llvm-project/commit/86271798e51a7866dd2af44e0ee183d1331089e6, at least all the emails I got about failing msan builds were missing that change. Repository: rG LLVM Github Monorepo CHANGES SINCE LA

[PATCH] D133753: [clang][Interp] WIP: Array fillers

2022-09-13 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: erichkeane, aaron.ballman, shafik, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Uploading this now to get some early feedback on th

[PATCH] D132997: [clang][Interp] Handle DeclRefExpr of reference types

2022-09-13 Thread Timm Bäder via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGbf3efa8b1622: [clang][Interp] Handle DeclRefExpr of reference types (authored by tbaeder). Changed prior to commit: https://reviews.llvm.org/D132997?vs=458662&id=459681#toc Repository: rG LLVM Github

[PATCH] D133753: [clang][Interp] WIP: Array fillers

2022-09-14 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/Context.cpp:54 + assert(Stk.empty()); + return true; } The additional asserts I inserted here could be in another patch. However, I added them because I ran into a peculiar problem: when creating

[PATCH] D133856: [clang][Interp] Pass initializer through when creating variables

2022-09-14 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This is of course in preparation of https://reviews

[PATCH] D133753: [clang][Interp] WIP: Array fillers

2022-09-14 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 460059. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133753/new/ https://reviews.llvm.org/D133753 Files: clang/lib/AST/Interp/Boolean.h clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/Context.cpp clang/lib/AST/Interp/Descriptor

[PATCH] D133924: add clang_CXXMethod_isDeleted function

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/tools/libclang/CIndex.cpp:8870 + const CXXMethodDecl *Method = + D ? dyn_cast_or_null(D->getAsFunction()) : nullptr; + return (Method && Method->isDeleted()) ? 1 : 0; Repository: rG LLVM Github Monorepo

[PATCH] D133934: [clang][Interp] Handle sizeof() expressions

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, shafik, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Handle sizeof expressions. I was a bit unsure here

[PATCH] D133941: [clang][Interp] Record item types in InterpStack

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, shafik, erichkeane, tahonermann. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Since I've run into this a few times now... When `

[PATCH] D133941: [clang][Interp] Record item types in InterpStack

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D133941#3792330 , @erichkeane wrote: > Can you clarify what the intent of this patch is? Perhaps I'm just being > slow today, but I don't really get the intent here. Consider: push(...); (lots of stuff) pop(); curre

[PATCH] D133934: [clang][Interp] Handle sizeof() expressions

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 460409. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133934/new/ https://reviews.llvm.org/D133934 Files: clang/lib/AST/Interp/Boolean.h clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Opco

[PATCH] D133934: [clang][Interp] Handle sizeof() expressions

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Didn't now I could just get that information from the ASTContext, nice. Thanks. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133934/new/ https://reviews.llvm.org/D133934 ___ cfe-commits mailing list cfe-commits@lists

[PATCH] D133934: [clang][Interp] Handle sizeof() expressions

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:289 +QualType ArgType = E->getTypeOfArgument(); +return this->emitConst(E, Ctx.getASTContext().getTypeSize(ArgType)); + } erichkeane wrote: > You probably want `getTypeSi

[PATCH] D133934: [clang][Interp] Handle sizeof() expressions

2022-09-15 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 460412. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133934/new/ https://reviews.llvm.org/D133934 Files: clang/lib/AST/Interp/Boolean.h clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/lib/AST/Interp/ByteCodeExprGen.h clang/lib/AST/Interp/Opco

[PATCH] D128248: [clang] Avoid an assertion in APValue::hasArrayFiller()

2022-06-28 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. If you apply e.g. @@ -10739,6 +10779,7 @@ bool ArrayExprEvaluator::VisitInitListExpr(const InitListExpr *E, << NumEltsToInit << ".\n"); Result = APValue(APValue::UninitArray(), NumEltsToInit, NumElts); + llvm::errs() << "Result "

[PATCH] D128248: [clang] Avoid an assertion in APValue::hasArrayFiller()

2022-06-30 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 441344. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128248/new/ https://reviews.llvm.org/D128248 Files: clang/lib/AST/ExprConstant.cpp clang/test/SemaCXX/constexpr-array-init.cpp Index: clang/test/SemaCXX/constexpr-array-init.cpp

[PATCH] D128248: [clang] Avoid an assertion in APValue::hasArrayFiller()

2022-06-30 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. I added the `isArray()` check in both places now, but the first one is not necessary for the test case (at least). CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128248/new/ https://reviews.llvm.org/D128248 ___ cfe-co

[PATCH] D128248: [clang] Avoid an assertion in APValue::hasArrayFiller()

2022-06-30 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 441379. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128248/new/ https://reviews.llvm.org/D128248 Files: clang/docs/ReleaseNotes.rst clang/lib/AST/ExprConstant.cpp clang/test/SemaCXX/constexpr-array-init.cpp Index: clang/test/SemaCXX/constex

[PATCH] D128248: [clang] Avoid an assertion in APValue::hasArrayFiller()

2022-07-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked 2 inline comments as done. tbaeder added a comment. In D128248#3622775 , @shafik wrote: > LGTM after addressing all of Aaron's comments. I've already addressed them; did you miss the update or are you saying I haven't addressed them prope

[PATCH] D121201: [clang] Merge the SourceRange into ParsedAttributes

2022-03-24 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG711e3a569167: [clang][parse] Move source range into ParsedAttibutesView (authored by tbaeder). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D122659: [clang][preprocessor] Allow calling DumpToken() on annotation tokens

2022-03-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The `getSpelling()` call otherwise ultimately runs into an assertion because `getL

[PATCH] D122659: [clang][preprocessor] Allow calling DumpToken() on annotation tokens

2022-03-30 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 419073. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122659/new/ https://reviews.llvm.org/D122659 Files: clang/lib/Lex/Preprocessor.cpp Index: clang/lib/Lex/Preprocessor.cpp === ---

[PATCH] D119221: [clang][lexer] Allow u8 character literal prefixes in C2x

2022-03-31 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Herald added a project: All. Is there anything missing here? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119221/new/ https://reviews.llvm.org/D119221 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://l

[PATCH] D122885: [clang] Draft: Implement P1703R1

2022-04-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, iains, urnathan, ChuanqiXu. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As in: http://www.open-std.org/jtc1/sc22/wg21/docs/paper

[PATCH] D122885: [clang] Draft: Implement P1703R1

2022-04-04 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D122885#3426070 , @urnathan wrote: > Ah, I'd had a thinko about what 1703 was. that's superseded by > p1757wg21.link/p1857. That's what is needed. (your patch > makes more sense in the 1703 context) Ha, okay. Yes, that ma

[PATCH] D122885: [clang] Draft: Implement P1703R1

2022-04-05 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. What patches are you talking about exactly? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122885/new/ https://reviews.llvm.org/D122885 ___ cfe-commits mailing list cfe-commits@li

[PATCH] D130791: [clang] Short-circuit trivial constexpr array constructors

2022-07-29 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, rsmith. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As discussed in https://github.com/llvm/llvm-project/issues/56774 Reposito

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. For c++ static constexpr m = 10; static_assert(m == 11); the output is befo

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaDeclCXX.cpp:16656 && !isa(InnerCond)) { + Diag(StaticAssertLoc, diag::err_static_assert_requirement_failed) Oops, this needs to go. Repository: rG LLVM Github M

[PATCH] D130906: [clang] format string checking for conpile-time evaluated str literal

2022-08-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:8504 return SLCT_UncheckedLiteral; + Expr::EvalResult Result; + if (E->EvaluateAsRValue(Result, S.Context)) { A comment above this line would be helpful. Would also visually separat

[PATCH] D130791: [clang] Short-circuit trivial constexpr array constructors

2022-08-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. In D130791#3692071 , @dblaikie wrote: > also: What about zero length arrays? (which are supported as an extension) - > this change would cause failures that wouldn't be emitted in the old code? There's a `if (FinalSize == 0) ret

[PATCH] D130791: [clang] Short-circuit trivial constexpr array constructors

2022-08-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449182. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130791/new/ https://reviews.llvm.org/D130791 Files: clang/docs/ReleaseNotes.rst clang/lib/AST/ExprConstant.cpp Index: clang/lib/AST/ExprConstant.cpp =

[PATCH] D130906: [clang] format string checking for conpile-time evaluated str literal

2022-08-01 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:8507 +if (Result.Val.isLValue()) { + auto *LVE = Result.Val.getLValueBase().dyn_cast(); + if (LVE && LVE->getStmtClass() == Stmt::StringLiteralClass) { inclyc wrote: > tbaede

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449199. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaDeclCXX.cpp clang/test/CXX/dcl.decl/

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449226. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaDeclCXX.cpp clang/test/CXX/dcl.decl/

[PATCH] D130906: [clang] format string checking for conpile-time evaluated str literal

2022-08-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Getting a review usually takes far longer than just a few hours, so don't ping too early. I also want an opinion from at least one other reviewer. Comment at: clang/lib/Sema/SemaChecking.cpp:8505 + // maybe this expression can be evaluated at compil

[PATCH] D130906: [clang] format string checking for conpile-time evaluated str literal

2022-08-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:8507 +if (Result.Val.isLValue()) { + auto *LVE = Result.Val.getLValueBase().dyn_cast(); + if (LVE && LVE->getStmtClass() == Stmt::StringLiteralClass) { inclyc wrote: > tbaede

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-02 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. Oh, I noticed that g++ already does this: test.cpp:27:21: error: static assertion failed 27 | static_assert(foo() < 4); | ~~^~~ test.cpp:27:21: note: the comparison reduces to ‘(10 < 4)’ CHANGES SINCE LAST ACTION https://reviews.llvm

[PATCH] D130791: [clang] Short-circuit trivial constexpr array constructors

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG11e52ecf74e9: [clang] Short-circuit trivial constructors when evaluating arrays (authored by tbaeder). Changed prior to commit: https://reviews.ll

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449589. tbaeder added a comment. I just took the plunge and made `DiagnoseStaticAssertDetails()` take into account all static assertions, regardless of integer literals. It now also prints integers, booleans, chars and floats correctly. For example: test

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added inline comments. Comment at: clang/lib/Sema/SemaDeclCXX.cpp:16574 + if (BoolValue) { +Str.push_back('t'); +Str.push_back('r'); I really hope there's a better way to do this that I just don't know about :) CHANGES SINCE LAST AC

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449625. tbaeder added a comment. Whatever, I had time and you're still asleep, so I updated the output: test.cpp:30:1: error: static assertion failed due to requirement 'inv(true) == inv(false)' static_assert(inv(true) == inv(false)); ^ ~~~

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449637. tbaeder added a comment. Also print `nullptr` expressions. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449639. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaDeclCXX.

[PATCH] D131070: [clang][sema] Fix collectConjunctionTerms()

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added a reviewer: aaron.ballman. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Consider: A == 5 && A != 5 IfA is 5, the old collectConjunctionTerms() would call

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. FWIW, complex numbers are already covered it seems: test.cpp:35:1: error: static assertion failed due to requirement '__real c == __imag c' static_assert(__real c == __imag c); ^ test.cpp:35:24: note: expression evaluates to 5 ==

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449669. tbaeder added a comment. Ignore what I said, they are supported now though. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/Diagnost

[PATCH] D131070: [clang][sema] Fix collectConjunctionTerms()

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. That's just because of the note that https://reviews.llvm.org/D130894 adds, which the patch expects. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131070/new/ https://reviews.llvm.org/D131070

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder marked 4 inline comments as done. tbaeder added a comment. > +1 to the suggestion to use quotes for a bit of visual distinction between > the diagnostic message and the code embedded within it. One problem is that both the integer value `0` and the character constant `'0'` are printed a

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449874. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaDeclCXX.

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-03 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449885. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130894/new/ https://reviews.llvm.org/D130894 Files: clang/docs/ReleaseNotes.rst clang/include/clang/Basic/DiagnosticSemaKinds.td clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaDeclCXX.

[PATCH] D128248: [clang] Avoid an assertion in APValue::hasArrayFiller()

2022-08-04 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder abandoned this revision. tbaeder added a comment. Abandoning as per the discussion in https://discourse.llvm.org/t/apvalue-lifetime-problem-when-evaluating-constant-expressions/64002/5. This patch just hides a problem. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128248/new/

[PATCH] D131155: [clang] Expand array expressions if the filler expression's filler is element dependent

2022-08-04 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This is about the problem described in https://discourse.llvm.org/t/apv

[PATCH] D131070: [clang][sema] Fix collectConjunctionTerms()

2022-08-04 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder updated this revision to Diff 449930. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131070/new/ https://reviews.llvm.org/D131070 Files: clang/lib/Sema/SemaTemplate.cpp Index: clang/lib/Sema/SemaTemplate.cpp === -

[PATCH] D130894: [clang] Print more information about failed static assertions

2022-08-04 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. IMO it's clear enough... test.cpp:24:1: error: static assertion failed due to requirement 'c != c' static_assert(c != c); ^ ~~ test.cpp:24:17: note: expression evaluates to 'a != a' static_assert(c != c); ~~^~~~ test.cpp:25:1: e

  1   2   3   4   5   6   7   8   9   10   >