[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-09-11 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-24 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. ping~ @hubert.reinterpretcast @rsmith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list

[PATCH] D158296: [NFC][Clang] Add assertion to check the value of NumSubExprs/ResultIndex does not overflow

2023-08-30 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 554770. yronglin added a comment. Addres the comments that we talked in D154784 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158296/new/ https://reviews.llvm.org/D158296

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-08-30 Thread Yurong via Phabricator via cfe-commits
yronglin marked 2 inline comments as done. yronglin added inline comments. Comment at: clang/include/clang/AST/Stmt.h:596-597 -// These don't need to be particularly wide, because they're -// strictly limited by the forms of expressions we permit. -unsigned

[PATCH] D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct

2023-09-01 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 555376. yronglin added a comment. Address Aaron's comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158296/new/ https://reviews.llvm.org/D158296 Files:

[PATCH] D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct

2023-09-01 Thread Yurong via Phabricator via cfe-commits
yronglin marked 4 inline comments as done. yronglin added a comment. Thank you for your review @aaron.ballman @rsmith , I will be happy to continue cook this patch once we reach a consensus. Comment at: clang/lib/Sema/SemaChecking.cpp:732-733 +int RDKind = RD->isClass() ?

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-09-04 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-09-06 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 556035. yronglin added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 Files: clang/include/clang/Sema/Sema.h clang/lib/Parse/ParseDecl.cpp

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-11-02 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-11-07 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. friendly ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-10-14 Thread Yurong via Phabricator via cfe-commits
yronglin marked 2 inline comments as done. yronglin added a comment. @rsmith Thanks a lot for your comments and sorry for the very late reply, I was on vacation some time ago. In D153701#4643609 , @rsmith wrote: > The changes in `SemaInit.cpp` don't

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-10-14 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 557705. yronglin added a comment. Update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 Files: clang/include/clang/Sema/Sema.h clang/lib/Parse/ParseDecl.cpp

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-10-24 Thread Yurong via Phabricator via cfe-commits
yronglin marked an inline comment as done. yronglin added a comment. ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-20 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 551871. yronglin added a comment. Do not spass MaterializePRValueInDiscardStatement in PushExpressionEvaluationContext. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-20 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 551845. yronglin added a comment. Fix ci failure, and introduce an variable in ExpressionEvaluationContextRecord to rewrite default argument. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-20 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 551851. yronglin added a comment. Fix ci Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 Files: clang/include/clang/Sema/Sema.h clang/lib/Parse/ParseDecl.cpp

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-21 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 552009. yronglin marked 7 inline comments as done. yronglin added a comment. Address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 Files:

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-21 Thread Yurong via Phabricator via cfe-commits
yronglin marked 4 inline comments as done. yronglin added a comment. @cor3ntin Thanks for your review! Comment at: clang/include/clang/Sema/Sema.h:1357 +/// Whether rewrite the default argument. +bool IsRewriteDefaultArgument = false; + cor3ntin wrote:

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-16 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. friendly ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D158296: [Clang] Add assertion to check the value of NumSubExprs/ResultIndex does not overflow

2023-08-18 Thread Yurong via Phabricator via cfe-commits
yronglin created this revision. Herald added a subscriber: arphaman. Herald added a project: All. yronglin requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Signed-off-by: yronglin Repository: rG LLVM Github Monorepo

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-08-18 Thread Yurong via Phabricator via cfe-commits
yronglin marked 3 inline comments as done. yronglin added inline comments. Comment at: clang/include/clang/AST/Stmt.h:596-597 -// These don't need to be particularly wide, because they're -// strictly limited by the forms of expressions we permit. -unsigned

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-08-19 Thread Yurong via Phabricator via cfe-commits
yronglin marked an inline comment as done. yronglin added inline comments. Comment at: clang/include/clang/AST/Stmt.h:596-597 -// These don't need to be particularly wide, because they're -// strictly limited by the forms of expressions we permit. -unsigned

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-08-19 Thread Yurong via Phabricator via cfe-commits
yronglin added inline comments. Comment at: clang/include/clang/AST/Stmt.h:596-597 -// These don't need to be particularly wide, because they're -// strictly limited by the forms of expressions we permit. -unsigned NumSubExprs : 8; -unsigned ResultIndex : 32 -

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-08-29 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. friendly ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153701/new/ https://reviews.llvm.org/D153701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-08-24 Thread Yurong via Phabricator via cfe-commits
yronglin marked 2 inline comments as done. yronglin added inline comments. Comment at: clang/include/clang/AST/Stmt.h:596-597 -// These don't need to be particularly wide, because they're -// strictly limited by the forms of expressions we permit. -unsigned

[PATCH] D133202: [Clang][CodeGen] Fix __builtin_assume_aligned crash

2022-09-02 Thread Lin Yurong via Phabricator via cfe-commits
yronglin created this revision. yronglin added a reviewer: rjmccall. Herald added a project: All. yronglin requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Clang will crash when __builtin_assume_aligned's 1st arg is array type(or string

[PATCH] D133202: [Clang][CodeGen] Fix __builtin_assume_aligned crash

2022-09-02 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 457580. yronglin added a comment. Format code Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133202/new/ https://reviews.llvm.org/D133202 Files: clang/include/clang/Basic/Builtins.def

[PATCH] D133202: [Clang][CodeGen] Fix __builtin_assume_aligned crash

2022-09-02 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Hi John, I just have a new account, we continue here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133202/new/ https://reviews.llvm.org/D133202 ___ cfe-commits mailing list

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-03 Thread Lin Yurong via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3ad2fe913ae0: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array… (authored by yronglin). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-06 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Thanks for your review @aaron.ballman , I've updated ReleaseNotes. I don’t have commit access, can you land this patch for me?Please use 'yronglin ' to commit the change. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-06 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 458315. yronglin added a comment. Update ReleaseNotes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133202/new/ https://reviews.llvm.org/D133202 Files: clang/docs/ReleaseNotes.rst

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-07 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 458403. yronglin retitled this revision from "[Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type" to "[Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type". Repository: rG LLVM Github Monorepo

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-07 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. In D133202#3774905 , @aaron.ballman wrote: > I've pushed the changes up for you, thanks! > > In D133202#3774801 , @yronglin > wrote: > >> ping~ > > Something to keep in mind for the

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-07 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. ping~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133202/new/ https://reviews.llvm.org/D133202 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-05 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 458019. yronglin added a project: Sanitizers. yronglin added a comment. Fix windows build bolt broken https://lab.llvm.org/buildbot/#/builders/127/builds/35304 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-08 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Thanks a lot for your comments @rsmith @rjmccall . Firstly, as far as I know, turning on the `-fsanitizer=alignment` options when calling `__builtin_assume_aligned` in C code, Clang will emit `call void @__ubsan_handle_alignment_assumption(...)` in CodeGen, and

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-08 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:7651-7652 + Expr *FirstArg = TheCall->getArg(0); + if (auto *CE = dyn_cast(FirstArg)) +FirstArg = CE->getSubExprAsWritten(); rjmccall wrote: > rsmith wrote: > > This looks very

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-09 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 459092. yronglin added a comment. format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133583/new/ https://reviews.llvm.org/D133583 Files: clang/include/clang/Basic/Builtins.def

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-09 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. I've a new patch D133583 , please can you guys take a look Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133202/new/ https://reviews.llvm.org/D133202

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-09 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Hi, should I both fix alignment in this patch or in another separate patch? (this seems have different behavior with gcc https://godbolt.org/z/7dvM8zhnh ) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133583/new/

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-08 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Seems that a builtin can't be redeclared which has custom type checking https://github.com/llvm/llvm-project/blob/ec8f2905a33ba970543c8edb4141c47f30d325f7/clang/lib/Basic/Builtins.cpp#L210-L214 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-08 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Reproduce windows broken test: ignore.cpp #include void *__builtin_assume_aligned(const void *, size_t, ...) noexcept; void foo() { int a; (void) __builtin_assume_aligned(, 4); } FunctionDecl 0x14a80e480 <./ignore.cpp:3:1, col:7> col:7

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-09 Thread Lin Yurong via Phabricator via cfe-commits
yronglin created this revision. yronglin added reviewers: rjmccall, rsmith. Herald added a project: All. yronglin requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fix __builtin_assume_aligned incorrect type descriptor example from @rsmith

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-16 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Thanks for your suggestion @aaron.ballman , also I have added a new test case for C++ polymorphism classes Comment at: clang/test/Sema/builtin-redecl.cpp:5-6 +#include + // Redeclaring library builtins is OK. aaron.ballman wrote:

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-16 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 460870. yronglin added a comment. Add test case for C++ polymorphism class Use `typedef __typeof__(sizeof(0)) size_t;` instead of `#include ` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133583/new/

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-15 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. In D133583#3792625 , @aaron.ballman wrote: > In D133583#3780460 , @yronglin > wrote: > >> Hi, follow D133202 , should I both fix >> alignment in

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-20 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Thanks for take a review @aaron.ballman @rjmccall , can you land this patch for me? Please use 'yronglin ' to commit the change. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133583/new/ https://reviews.llvm.org/D133583

[PATCH] D133583: [clang][ubsan] Fix __builtin_assume_aligned incorrect type descriptor and C++ object polymorphic address

2022-09-20 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. In D133583#3803002 , @aaron.ballman wrote: > In D133583#3802451 , @yronglin > wrote: > >> Thanks for take a review @aaron.ballman @rjmccall , can you land this patch >> for me? Please

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-09 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Thanks very much for your comments @rjmccall @rsmith , I've take a look at D45383 , I believe that user code isn't allowed to declare __builtin_*, but seems `intrin0.inl.h` is a system header on windows, should we keep

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-02 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 457643. yronglin added a comment. Update patch with john's comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133202/new/ https://reviews.llvm.org/D133202 Files: clang/include/clang/Basic/Builtins.def

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-02 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:7697 // The alignment must be a constant integer. - Expr *Arg = TheCall->getArg(1); + Expr *SecondArg = TheCall->getArg(1); rjmccall wrote: > This should be: > > ``` > Expr

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-02 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. In D133202#3767414 , @rjmccall wrote: > Thanks, LGTM Thanks for your review John, but I don’t have commit access, can you land this patch for me? Please use "yronglin " to commit the change. Repository: rG LLVM Github

[PATCH] D133202: [Clang][CodeGen] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2022-09-05 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. In D133202#3768770 , @vitalybuka wrote: > Broken by the patch https://lab.llvm.org/buildbot/#/builders/127/builds/35304 Thanks @vitalybuka , seems `intrin0.inl.h` have a forward declaration `__MACHINE(void * __cdecl

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-20 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. Thanks @efriedma , I'm wait to see if there is any objection before landing it. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511 ___

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-20 Thread Yurong via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rGebe530ef7a49: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record… (authored by yronglin).

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-20 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. commit in ebe530ef7a49988a531a8928eac3ce0925f1c199 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-02 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. pin~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-06 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. In D138511#3971913 , @rjmccall wrote: > Please don't ping every day. We haven't lost track of your patch, we're just > busy reviewing other things. > > This seems reasonable to me. Thanks very much for your review @rjmccall !

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-05 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. pin~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-04 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. pin~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-12-07 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 480853. yronglin added a comment. Rebase and apply changes from https://reviews.llvm.org/D138295 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511 Files:

[PATCH] D138137: [CodeGen][ARM] Fix ARMABIInfo::EmitVAAarg crash with empty record type variadic arg

2022-11-16 Thread Lin Yurong via Phabricator via cfe-commits
yronglin created this revision. yronglin added reviewers: rjmccall, asl. Herald added a subscriber: kristof.beyls. Herald added a project: All. yronglin requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fix ARMABIInfo::EmitVAAarg crash with

[PATCH] D138137: [CodeGen][ARM] Fix ARMABIInfo::EmitVAAarg crash with empty record type variadic arg

2022-11-18 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Thank you so much for your review, @rjmccall , can you land this patch for me? Please use 'yronglin ' to commit the change. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138137/new/ https://reviews.llvm.org/D138137

[PATCH] D138137: [CodeGen][ARM] Fix ARMABIInfo::EmitVAAarg crash with empty record type variadic arg

2022-11-18 Thread Lin Yurong via Phabricator via cfe-commits
yronglin added a comment. Thank you so much for your review, @rjmccall Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138137/new/ https://reviews.llvm.org/D138137 ___ cfe-commits mailing list

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-11-29 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. In D138511#3954143 , @efriedma wrote: > It looks like AArch64ABIInfo::classifyArgumentType does a slightly more > complicated check for "empty"; does that matter here? Thanks for your comments @efriedma. Good catch! Current

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-11-29 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 478633. yronglin added a comment. Use AArch64ABIInfo::classifyArgumentType().isIgnore() to check empty record vaarg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511

[PATCH] D138137: [CodeGen][ARM] Fix ARMABIInfo::EmitVAAarg crash with empty record type variadic arg

2022-11-17 Thread Lin Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 476093. yronglin added a comment. Fix test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138137/new/ https://reviews.llvm.org/D138137 Files: clang/lib/CodeGen/TargetInfo.cpp

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-11-25 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. pin~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138511/new/ https://reviews.llvm.org/D138511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D138511: [CodeGen][AArch64] Fix AArch64ABIInfo::EmitAAPCSVAArg crash with empty record type in variadic arg

2022-11-22 Thread Yurong via Phabricator via cfe-commits
yronglin created this revision. yronglin added reviewers: rjmccall, asl, efriedma. Herald added a subscriber: kristof.beyls. Herald added a project: All. yronglin requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fix

[PATCH] D133202: [Clang] Avoid __builtin_assume_aligned crash when the 1st arg is array type

2023-05-01 Thread Yurong via Phabricator via cfe-commits
yronglin marked 2 inline comments as done. yronglin added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:7651-7652 + Expr *FirstArg = TheCall->getArg(0); + if (auto *CE = dyn_cast(FirstArg)) +FirstArg = CE->getSubExprAsWritten(); rsmith

[PATCH] D149514: Check if First argument in _builtin_assume_aligned_ is of pointer type

2023-05-01 Thread Yurong via Phabricator via cfe-commits
yronglin added reviewers: rsmith, rjmccall. yronglin added a comment. Looks good from my side Comment at: clang/lib/Sema/SemaChecking.cpp:7987 + return true; TheCall->setArg(0, FirstArgResult.get()); } Can we add a comments here that we ignored

[PATCH] D149514: Check if First argument in _builtin_assume_aligned_ is of pointer type

2023-05-02 Thread Yurong via Phabricator via cfe-commits
yronglin added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:7979-7986 { ExprResult FirstArgResult = DefaultFunctionArrayLvalueConversion(FirstArg); -if (FirstArgResult.isInvalid()) +if (checkBuiltinArgument(*this, TheCall, 0))

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-06 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 537714. yronglin added a comment. Address comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153296/new/ https://reviews.llvm.org/D153296 Files: clang/docs/ReleaseNotes.rst

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-06 Thread Yurong via Phabricator via cfe-commits
yronglin marked an inline comment as done. yronglin added a comment. Many thanks for all of your comments, I learned a lot from the discussions, your incredible depth of knowledge have helped fundamentally shape Clang into a great compiler! It seems the common denominator is that constant

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-06 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 537929. yronglin added a comment. Format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153296/new/ https://reviews.llvm.org/D153296 Files: clang/docs/ReleaseNotes.rst clang/lib/AST/ExprConstant.cpp

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-06 Thread Yurong via Phabricator via cfe-commits
yronglin marked 2 inline comments as done. yronglin added a comment. Thanks for your review! Comment at: clang/lib/AST/ExprConstant.cpp:4914 static bool EvaluateDependentExpr(const Expr *E, EvalInfo ) { assert(E->isValueDependent()); aaron.ballman wrote:

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-06 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 537928. yronglin marked an inline comment as done. yronglin added a comment. Address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153296/new/ https://reviews.llvm.org/D153296 Files:

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-03 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. In D153296#4468373 , @aaron.ballman wrote: > In D153296#4459769 , @yronglin > wrote: > >> Please help me, I have no better idea on this issue, do you have any better >> ideas?

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-03 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 536802. yronglin added a comment. Address comment. - Change `EvaluateDependentExpr`. - Add more test for do/while/for/return/ctor. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153296/new/

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-07 Thread Yurong 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 rG36f67434f724: [AST] Stop evaluate constant expression if the condition expression which in… (authored by yronglin). Repository: rG LLVM Github

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-07 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. Thanks, landed! I have benefited a lot from your comments! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153296/new/ https://reviews.llvm.org/D153296 ___ cfe-commits mailing

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-07 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. In D153296#4479718 , @hokein wrote: > Thanks, this looks good. Thanks for your review! I don't know why the reversion status still `Needs Review`, and the `libcxx ci` often fails to start. Repository: rG LLVM Github

[PATCH] D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-07-07 Thread Yurong via Phabricator via cfe-commits
yronglin marked an inline comment as done. yronglin added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:8901-8914 + // [P2718R0] Lifetime extension in range-based for loops. + // + // 6.7.7 [class.temporary] p5: + // There are four contexts in which temporaries

[PATCH] D153701: [WIP][Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-07-12 Thread Yurong via Phabricator via cfe-commits
yronglin marked 2 inline comments as done. yronglin added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:8901-8914 + // [P2718R0] Lifetime extension in range-based for loops. + // + // 6.7.7 [class.temporary] p5: + // There are four contexts in which temporaries

[PATCH] D153701: [WIP][Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-07-12 Thread Yurong via Phabricator via cfe-commits
yronglin marked an inline comment as done. yronglin added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:8901-8914 + // [P2718R0] Lifetime extension in range-based for loops. + // + // 6.7.7 [class.temporary] p5: + // There are four contexts in which temporaries

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-12 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. Wait for CI green Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154784/new/ https://reviews.llvm.org/D154784 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-12 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 539493. yronglin added a comment. Address comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154784/new/ https://reviews.llvm.org/D154784 Files: clang/docs/ReleaseNotes.rst

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-12 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 539563. yronglin added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154784/new/ https://reviews.llvm.org/D154784 Files: clang/docs/ReleaseNotes.rst clang/include/clang/AST/Stmt.h

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-12 Thread Yurong via Phabricator via cfe-commits
yronglin marked an inline comment as done. yronglin added inline comments. Comment at: clang/include/clang/AST/Stmt.h:603 -// These don't need to be particularly wide, because they're -// strictly limited by the forms of expressions we permit. -unsigned NumSubExprs

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-12 Thread Yurong via Phabricator via cfe-commits
yronglin marked an inline comment as done. yronglin added a comment. Thanks for your review! @aaron.ballman @rjmccall Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154784/new/ https://reviews.llvm.org/D154784

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-12 Thread Yurong via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG677a1da6fafd: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow (authored by yronglin). Changed prior to commit: https://reviews.llvm.org/D154784?vs=539563=539798#toc

[PATCH] D153701: [WIP][Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-07-13 Thread Yurong via Phabricator via cfe-commits
yronglin added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:8901-8914 + // [P2718R0] Lifetime extension in range-based for loops. + // + // 6.7.7 [class.temporary] p5: + // There are four contexts in which temporaries are destroyed at a different + // point

[PATCH] D153701: [WIP][Clang] Implement P2718R0 "Lifetime extension in range-based for loops"

2023-07-13 Thread Yurong via Phabricator via cfe-commits
yronglin marked 2 inline comments as done. yronglin added inline comments. Comment at: clang/lib/Sema/SemaExprCXX.cpp:8901-8914 + // [P2718R0] Lifetime extension in range-based for loops. + // + // 6.7.7 [class.temporary] p5: + // There are four contexts in which temporaries

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-09 Thread Yurong via Phabricator via cfe-commits
yronglin created this revision. Herald added a project: All. yronglin requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Signed-off-by: yrong Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D154784 Files:

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-09 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 538418. yronglin added a comment. Format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154784/new/ https://reviews.llvm.org/D154784 Files: clang/docs/ReleaseNotes.rst clang/include/clang/AST/Expr.h

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-09 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. I'm not sure if we should limit the value of `NumSubExprs` when build `PseudoObjectExpr` for `__builtin_dump_struct`, This cost too much memory when the nested members of the record are very deep and the num of member is very large. Repository: rG LLVM Github

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-11 Thread Yurong via Phabricator via cfe-commits
yronglin added a comment. In D154784#4486721 , @rjmccall wrote: > We had that discussion in the bug report. Let's just increase the widths > unconditionally; this is not such a common expression class that we need to > worry about using an extra word.

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-11 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 539152. yronglin added a comment. Address John's comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154784/new/ https://reviews.llvm.org/D154784 Files: clang/docs/ReleaseNotes.rst

[PATCH] D153296: [AST] Stop evaluate constant expression if the condition expression which in switch statement contains errors

2023-07-04 Thread Yurong via Phabricator via cfe-commits
yronglin marked 3 inline comments as done. yronglin added a comment. Thanks a lot for your comments! @hokein Comment at: clang/lib/AST/ExprConstant.cpp:4921 + // value is. + if (isa(E)) +return false; hokein wrote: > The constant evaluator is not aware

[PATCH] D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow

2023-07-10 Thread Yurong via Phabricator via cfe-commits
yronglin updated this revision to Diff 538709. yronglin added a comment. Address Aaron's comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154784/new/ https://reviews.llvm.org/D154784 Files: clang/docs/ReleaseNotes.rst

  1   2   >