[PATCH] D88900: check before accessing possibly null node

2020-10-06 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. danix800 requested review of this revision. Testcase: (main.cpp) int foo(int i); int main() { int i = 1; while (i-- >= 0) { return 3 / foo(i); } } run with clang -

[PATCH] D155576: [NFC][clang-extdef-mapping] fix test failure on nonsupported targets

2023-07-18 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. Herald added a project: All. danix800 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Specify a working target as POC Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D155576 Files: clang/

[PATCH] D155537: [ASTImporter] Fix import failed when anonymous union defined in class

2023-07-18 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. Already fixed by https://reviews.llvm.org/D154764 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155537/new/ https://reviews.llvm.org/D155537 ___ cfe-commits mailing list cfe-c

[PATCH] D155661: [ASTImporter] Fix recursive friend class template with non-type parm

2023-07-18 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. Herald added subscribers: martong, kristof.beyls. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. For

[PATCH] D155396: [Sema][ObjC] Propagating value-dependent errors into BlockExpr

2023-07-20 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:16749-16753 + bool ContainsError = llvm::any_of(BSI->Returns, [](const ReturnStmt *Return) { +const auto *RetValExpr = Return->getRetValue(); +return RetValExpr && RetValExpr->containsErrors(); + }

[PATCH] D155396: [Sema][ObjC] Propagating value-dependent errors into BlockExpr

2023-07-20 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 542559. danix800 edited the summary of this revision. danix800 added a comment. Invalidate `BlockDecl` with implicit return type, in case any of the return value exprs is invalid. Propagating the error info up by replacing `BlockExpr` with a `RecoveryExpr`.

[PATCH] D155396: [Sema][ObjC] Propagating value-dependent errors into BlockExpr

2023-07-20 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 542735. danix800 edited the summary of this revision. danix800 added a comment. Herald added a reviewer: gkistanova. Update clang/docs/ReleaseNotes.rst to reflect this fix. Repository: rZORG LLVM Github Zorg CHANGES SINCE LAST ACTION https://reviews.ll

[PATCH] D155661: [ASTImporter] Fix friend class template import within dependent context

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 542778. danix800 added a comment. Apply git-clang-format. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155661/new/ https://reviews.llvm.org/D155661 Files: clang/lib/AST/ASTImporter.cpp clang/unittests/AS

[PATCH] D155321: [clang][Analysis] ExprMutationAnalyzer: break infinite recursion on recursive function call

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 542824. danix800 added a comment. Apply git-clang-format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155321/new/ https://reviews.llvm.org/D155321 Files: clang-tools-extra/test/clang-tidy/checkers/readabi

[PATCH] D155396: [Sema][ObjC] Propagating value-dependent errors into BlockExpr

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/Sema/SemaStmt.cpp:3736 +BlockDecl *BD = CurBlock->TheDecl; +if (!BD->isInvalidDecl() && RetValExp && RetValExp->containsErrors()) + BD->setInvalidDecl(); hokein wrote: > nit: the `isInvalidDecl` c

[PATCH] D155396: [Sema][ObjC] Propagating value-dependent errors into BlockExpr

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/test/SemaObjC/crash-on-val-dep-block-expr.m:1 +// RUN: %clang_cc1 -fblocks -fsyntax-only -verify %s +// no crash danix800 wrote: > hokein wrote: > > can you move these tests to > > `llvm-project/clang/test/AST/as

[PATCH] D155396: [Sema][ObjC] Propagating value-dependent errors into BlockExpr

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 542950. danix800 added a comment. 1. Remove unnecessary condition & cleanup code 2. Move testcase into correct place. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155396/new/ https://reviews.llvm.org/D155396

[PATCH] D155984: [Sema][ObjC] Invalidate BlockDecl with invalid ParmVarDecl

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: hokein, aaron.ballman. danix800 added a project: clang. Herald added a subscriber: kristof.beyls. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. `BlockDecl` should be invalid

[PATCH] D155985: [clang][ASTDumper] Remove redundant dump of ParmVarDecl

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: hokein, aaron.ballman. danix800 added a project: clang. Herald added a subscriber: kristof.beyls. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. `ParmVarDecl` of `BlockDecl`

[PATCH] D155985: [clang][ASTDumper] Remove redundant dump of BlockDecl's ParmVarDecl

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 543003. danix800 retitled this revision from "[clang][ASTDumper] Remove redundant dump of ParmVarDecl" to "[clang][ASTDumper] Remove redundant dump of BlockDecl's ParmVarDecl". danix800 edited the summary of this revision. danix800 added a comment. Update R

[PATCH] D155984: [Sema][ObjC] Invalidate BlockDecl with invalid ParmVarDecl

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 543005. danix800 added a comment. Update ReleaseNotes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155984/new/ https://reviews.llvm.org/D155984 Files: clang/docs/ReleaseNotes.rst clang/lib/Sema/SemaExpr.

[PATCH] D155396: [Sema][ObjC] Invalidate BlockDecl with invalid return expr & its parent BlockExpr

2023-07-21 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 543010. danix800 retitled this revision from "[Sema][ObjC] Propagating value-dependent errors into BlockExpr" to "[Sema][ObjC] Invalidate BlockDecl with invalid return expr & its parent BlockExpr". danix800 added a comment. Fix testcase tag with `CHECK-NEXT

[PATCH] D155661: [ASTImporter] Fix friend class template import within dependent context

2023-07-23 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 543387. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155661/new/ https://reviews.llvm.org/D155661 Files: clang/lib/AST/ASTImporter.cpp clang/unittests/AST/ASTImporterTest.cpp Index: clang/unittests/AST/AS

[PATCH] D155396: [Sema][ObjC] Invalidate BlockDecl with invalid return expr & its parent BlockExpr

2023-07-24 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/test/AST/ast-dump-recovery.m:24 +// CHECK-NEXT: | `-BlockDecl {{.*}} invalid +int (^a)() = ^() { + return c; hokein wrote: > nit: it'd be nice to encode the github issue number to the testcase here, for > ex

[PATCH] D155984: [Sema][ObjC] Invalidate BlockDecl with invalid ParmVarDecl

2023-07-24 Thread Ding Fei via Phabricator via cfe-commits
danix800 marked an inline comment as done. danix800 added inline comments. Comment at: clang/test/AST/ast-dump-recovery.m:22 +// CHECK-NEXT: `-BlockDecl {{.*}} invalid +int (^a)(int, int) = ^(int, undefine b) { + return 1; hokein wrote: > nit: a => `gh64005`

[PATCH] D156093: [ASTImporter] Add extra sorting round for keeping lexical order of all imported decls within record

2023-07-24 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added a subscriber: martong. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Revision https:

[PATCH] D156093: [ASTImporter] Re-odering by lexical order for all imported decls within record

2023-07-24 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 543535. danix800 retitled this revision from "[ASTImporter] Add extra sorting round for keeping lexical order of all imported decls within record" to "[ASTImporter] Re-odering by lexical order for all imported decls within record". danix800 edited the summar

[PATCH] D156201: [ASTImporter] Fix two cases on fields circular refs

2023-07-24 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added a subscriber: martong. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Fixes two cases

[PATCH] D156201: [ASTImporter] Fix two cases on fields circular refs

2023-07-24 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 543834. danix800 added a comment. Restore in-class initializer importing when minimal importing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156201/new/ https://reviews.llvm.org/D156201 Files: clang/lib/

[PATCH] D155574: [clang][ASTImporter] Fix import of recursive field initializer.

2023-07-25 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:3936-3937 +return std::move(Err); + if (ToInitializer) +ToField->setInClassInitializer(ToInitializer); return ToField; Initializer could indirectly depends on this field and set

[PATCH] D156277: [Parser][ObjC] Stop parsing on eof

2023-07-25 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Fixes https://github.com/llvm/llvm-project/issues/64065 Repository: rG LLVM Github Monorepo https://reviews.llvm.or

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-07-25 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 544168. danix800 added a comment. Remove case #1 (fixed by https://reviews.llvm.org/D155574 from @balazske which is better). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156201/new/ https://reviews.llvm.org/

[PATCH] D156277: [Parser][ObjC] Stop parsing on eof

2023-07-26 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/Parse/ParseObjc.cpp:749 + if (!Tok.is(tok::eof)) +ConsumeToken(); break; tbaeder wrote: > Why is there a `ConsumeToken()` call at all here? The token is already being > consumed in line 72

[PATCH] D155574: [clang][ASTImporter] Fix import of recursive field initializer.

2023-07-26 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:3936-3937 +return std::move(Err); + if (ToInitializer) +ToField->setInClassInitializer(ToInitializer); return ToField; balazske wrote: > danix800 wrote: > > Initializer could in

[PATCH] D156277: [Parser][ObjC] Stop parsing on eof

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/Parse/ParseObjc.cpp:749 + if (!Tok.is(tok::eof)) +ConsumeToken(); break; rjmccall wrote: > aaron.ballman wrote: > > rjmccall wrote: > > > aaron.ballman wrote: > > > > aaron.ballman wrote: >

[PATCH] D156461: [clang][ASTImporter] Merge implicit ctors with definition

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added a subscriber: martong. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Implicit ctors

[PATCH] D156461: [clang][ASTImporter] Merge implicit ctors with definition

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 544854. danix800 edited the summary of this revision. Herald added a subscriber: pengfei. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156461/new/ https://reviews.llvm.org/D156461 Files: clang/lib/AST/ASTImp

[PATCH] D155661: [clang][ASTImporter] Fix friend class template import within dependent context

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 544993. danix800 retitled this revision from "[ASTImporter] Fix friend class template import within dependent context" to "[clang][ASTImporter] Fix friend class template import within dependent context". danix800 added a comment. Update ReleaseNotes Repos

[PATCH] D156093: [ASTImporter] Re-odering by lexical order for all imported decls within record

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. After thought a little bit more I'm doubting whether this lexical ordering is of any practical usage or any meanfullness at all, especially when imported into existing (non-empty) context, reordering by `From` context can not be correct after merging occured. I need mo

[PATCH] D154764: [ASTImporter] Fields are imported first and reordered for correct layout.

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/unittests/AST/ASTImporterTest.cpp:8018 +int m() { + return &((A *)0)->f1 - &((A *)0)->f2; +} shafik wrote: > So is it the case that this caused `f2` to be imported first and then `f1`? >

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:7403 + UO->setOperatorLoc(ToOperatorLoc); + UO->setCanOverflow(E->canOverflow()); + shafik wrote: > I don't see the following values from the old code used: `E->getValueKind()`, > `E->ge

[PATCH] D154764: [ASTImporter] Fields are imported first and reordered for correct layout.

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/unittests/AST/ASTImporterTest.cpp:8018 +int m() { + return &((A *)0)->f1 - &((A *)0)->f2; +} danix800 wrote: > shafik wrote: > > So is it the case that this caused `f2` to be imported firs

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:7403 + UO->setOperatorLoc(ToOperatorLoc); + UO->setCanOverflow(E->canOverflow()); + danix800 wrote: > shafik wrote: > > I don't see the following values from the old code used: > > `E->g

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-07-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 545016. danix800 added a comment. Add missing field value setting (`FPOptionsOverride`). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156201/new/ https://reviews.llvm.org/D156201 Files: clang/include/clang

[PATCH] D157114: [clang][ASTImporter] Improve StructuralEquivalence algorithm on repeated friends

2023-08-10 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 549059. danix800 added a comment. `CXXRecordDecl::friend_iterator` is actually a reversed iterator. Deduplication with different iterator direction produces different result. ASTImporter uses forward iterator so structural equivalence checking should be in

[PATCH] D157637: [ASTImporter][NFC] Fix typo in testcase

2023-08-10 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a reviewer: balazske. Herald added a subscriber: martong. Herald added a reviewer: a.sidorin. Herald added a project: All. danix800 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fix typo in t

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-11 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: balazske, aaron.ballman. danix800 added a project: clang. Herald added subscribers: pengfei, martong, kristof.beyls. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-11 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. By `FromContext` dump it's easy to observe that there're two different `FunctionTemplateDecl` (`0x5590cff48048` and `0x5590cff481f8`): |-FriendDecl 0x5590cff48048 col:42 | `-FunctionTemplateDecl 0x5590cff47f80 parent 0x5590cfefeda8 col:42 m | |-... `-FriendD

[PATCH] D157691: [ASTImporter] Remove extranous FunctionTemplateDecl introduced by templated friend

2023-08-11 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: balazske, aaron.ballman. danix800 added a project: clang. Herald added subscribers: pengfei, martong, kristof.beyls. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-11 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 549376. danix800 added a comment. Apply git-clang-format. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157684/new/ https://reviews.llvm.org/D157684 Files: clang/lib/AST/ASTImporter.cpp clang/unittests/AS

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-11 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 549436. danix800 added a comment. Turn off `Complain` mode on `IsEquivalentFriend` checking. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157684/new/ https://reviews.llvm.org/D157684 Files: clang/lib/AST/A

[PATCH] D157777: [ASTMatcher] Add matcher for 'MacroQualifiedType'

2023-08-12 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Add matcher for 'MacroQualifiedType' Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D15 Files:

[PATCH] D157777: [ASTMatcher] Add matcher for 'MacroQualifiedType'

2023-08-12 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 549605. danix800 added a comment. Herald added a subscriber: martong. Herald added a reviewer: shafik. Add import of MacroQualifiedType. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D15/new/ https://review

[PATCH] D157777: [ASTMatcher] Add matcher for 'MacroQualifiedType'

2023-08-12 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 549607. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D15/new/ https://reviews.llvm.org/D15 Files: clang/docs/LibASTMatchersReference.html clang/docs/ReleaseNotes.rst clang/include/clang/ASTMatcher

[PATCH] D157780: [ASTImporter] Add import of MacroQualifiedType

2023-08-12 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added a subscriber: martong. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Add import of M

[PATCH] D157780: [ASTImporter] Add import of MacroQualifiedType

2023-08-12 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 549609. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157780/new/ https://reviews.llvm.org/D157780 Files: clang/lib/AST/ASTImporter.cpp clang/unittests/AST/ASTImporterTest.cpp Index: clang/unittests/AST/A

[PATCH] D157691: [ASTImporter] Remove extranous FunctionTemplateDecl introduced by templated friend

2023-08-14 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 550160. danix800 added a comment. 1. Add unit testcase 2. Use better API Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157691/new/ https://reviews.llvm.org/D157691 Files: clang/lib/AST/ASTImporter.cpp cla

[PATCH] D157777: [ASTMatcher] Add matcher for 'MacroQualifiedType'

2023-08-14 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/include/clang/ASTMatchers/ASTMatchers.h:7261 +/// Matches macro qualified types. +/// aaron.ballman wrote: > How about: Matches qualified types when the qualifier is applied via a macro. > > and then a second e

[PATCH] D157777: [ASTMatcher] Add matcher for 'MacroQualifiedType'

2023-08-14 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 550178. danix800 added a comment. 1. Improve matcher description 2. Add a counter-example for test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D15/new/ https://reviews.llvm.org/D15 Files: clang/doc

[PATCH] D157691: [ASTImporter] Remove extranous FunctionTemplateDecl introduced by templated friend

2023-08-15 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D157691#4587490 , @balazske wrote: > When committing this patch, the commit message should not contain the whole > AST and crash dump (phabricator takes the "summary" text), this looks too > much in a commit message. One AST

[PATCH] D157691: [ASTImporter] Remove extranous FunctionTemplateDecl introduced by templated friend

2023-08-15 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 550210. danix800 added a comment. 1. Remove unnecessary testcase. 2. Format unittest code. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157691/new/ https://reviews.llvm.org/D157691 Files: clang/lib/AST/AST

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-16 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: aaron.ballman, cor3ntin, ychen, balazske. danix800 added a project: clang. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. `FunctionDeclBitfie

[PATCH] D156461: [clang][ASTImporter] Merge implicit ctors with definition

2023-08-16 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D156461#4583806 , @balazske wrote: > It looks not good to remove an invalid node from the DeclContext that > otherwise remains in the AST. I checked the problem and found that the > existing move constructor (originally in t

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-16 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 551016. danix800 added a comment. Add alternative testcase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158145/new/ https://reviews.llvm.org/D158145 Files: clang/include/clang/AST/DeclBase.h clang/lib/S

[PATCH] D156461: [clang][ASTImporter] Merge implicit ctors with definition

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D156461#4583806 , @balazske wrote: > Normally what should happen is that a new move constructor is imported (with > a definition) and linked after the existing one (and the existing is not > modified). Does this violate the

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. > Can you an an entry in `clang/docs/ReleaseNotes.rst` (mentioning the github > issue) No problem! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158145/new/ https://reviews.llvm.org/D158145 _

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/unittests/AST/ASTImporterTest.cpp:7836 +TEST_P(ASTImporterOptionSpecificTestBase, +ImportFunctionDeclBitShouldNotStampingOnCtorDeclBits) { + Decl *From, *To; cor3ntin wrote: > `ImportFunctionDeclBitShouldNotO

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. I also investigated whether we could count those bits at compile time and statically assert on them, because a small typo or missed update could spend us a lot of time to dig for the cause. My first step is trying to count number of bits for a single bitfield, this is

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/unittests/AST/ASTImporterTest.cpp:7836 +TEST_P(ASTImporterOptionSpecificTestBase, +ImportFunctionDeclBitShouldNotStampingOnCtorDeclBits) { + Decl *From, *To; cor3ntin wrote: > danix800 wrote: > > cor3ntin wro

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 551037. danix800 added a comment. 1. Update ReleaseNotes.rst 2. Fix typos pointed out by @cor3ntin (thanks!) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158145/new/ https://reviews.llvm.org/D158145 Files:

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/unittests/AST/DeclTest.cpp:368 + ASTContext &Ctx = AST->getASTContext(); + Ctx.getTranslationUnitDecl()->dump(); + balazske wrote: > This dump is not needed? Yeah it's for debug only, I'll remove it. Repositor

[PATCH] D158145: [clang] Update NumFunctionDeclBits for FunctionDeclBitfields

2023-08-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 551078. danix800 added a comment. Remove debug code. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158145/new/ https://reviews.llvm.org/D158145 Files: clang/docs/ReleaseNotes.rst clang/include/clang/AST/D

[PATCH] D158302: [clang] Add simple utils to ensure static assert on bit count of DeclContext

2023-08-18 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a reviewer: aaron.ballman. danix800 added a project: clang. Herald added a subscriber: kristof.beyls. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Manually counting bits for DeclConte

[PATCH] D158302: [clang] Add simple utils to ensure static assert on bit count of DeclContext

2023-08-19 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 551737. danix800 added a comment. Remove ununsed code. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158302/new/ https://reviews.llvm.org/D158302 Files: clang/include/clang/AST/DeclBase.h clang/include/cl

[PATCH] D158302: [clang] Add simple utils to ensure static assert on bit count of DeclContext

2023-08-19 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 551738. danix800 added a comment. Apply git-clang-format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158302/new/ https://reviews.llvm.org/D158302 Files: clang/include/clang/AST/DeclBase.h clang/include/

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. ping~ @balazske @aaron.ballman Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157684/new/ https://reviews.llvm.org/D157684 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D158499: [analyzer] Compute FAM dynamic size

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added subscribers: steakhal, manas, ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. danix800

[PATCH] D158499: [analyzer] Compute FAM dynamic size

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 552288. danix800 added a comment. Update testcase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158499/new/ https://reviews.llvm.org/D158499 Files: clang/lib/StaticAnalyzer/Core/DynamicExtent.cpp clang/te

[PATCH] D158499: [analyzer] Compute FAM dynamic size

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D158499#4606291 , @steakhal wrote: > Thanks for submitting this. > A funny thing is that in my free time I was also working on this last week. > I'll have a look at this more in depth during the week. > For the mean time here

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:4114 SmallVector ImportedEquivalentFriends; - - while (ImportedFriend) { -bool Match = false; -if (D->getFriendDecl() && ImportedFriend->getFriendDecl()) { - Match = - IsStructural

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 552372. danix800 added a comment. 1. Rebase; 2. Replace `auto` with explicit type; 3. Use local var without interrupting `Importer` state. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157684/new/ https://revi

[PATCH] D158499: [analyzer] Compute FAM dynamic size

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. We have `getDynamicExtentWithOffset` to use, which can handle more general dynamic memory based cases than this fix. I'll abandon this one. There are issues worth clarifying and fixing: 1). Debugging APIs like `clang_analyzer_dumpExtent` in `ExprInspection` might be e

[PATCH] D158499: [analyzer] Compute FAM dynamic size

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. One of the observable issue with inconsistent size type is void clang_analyzer_eval(int); typedef unsigned long long size_t; void *malloc(unsigned long size); void free(void *); void symbolic_longlong_and_int0(long long len) { char *a = malloc(5);

[PATCH] D158499: [analyzer] Compute FAM dynamic size

2023-08-22 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. > I suspected that the wrong cast modeling and how we infer what value ranges > are calculated is susceptible to such APSInt signedness issues, but I haven't > seen a case in the wild for extents. Thus, I didn't think of fixing it > either. But yes, we should. I think

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-23 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 552678. danix800 added a comment. Add `const` qualifier & replace `auto` with explicit type. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157684/new/ https://reviews.llvm.org/D157684 Files: clang/lib/AST/A

[PATCH] D157684: [clang][ASTImporter] Repeated friend templates are partially imported

2023-08-23 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:4105 - T TypeOrDecl = GetCanTypeOrDecl(FD); - - for (const FriendDecl *FoundFriend : RD->friends()) { + for (FriendDecl *FoundFriend : RD->friends()) { if (FoundFriend == FD) { ba

[PATCH] D156277: [Parser][ObjC] Fix parser crash on nested top-level block with better recovery path

2023-07-28 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 545056. danix800 retitled this revision from "[Parser][ObjC] Stop parsing on eof" to "[Parser][ObjC] Fix parser crash on nested top-level block with better recovery path". danix800 edited the summary of this revision. danix800 added a comment. Delay consumi

[PATCH] D156277: [Parser][ObjC] Fix parser crash on nested top-level block with better recovery path

2023-07-28 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 545069. danix800 added a comment. Update `clang/docs/ReleaseNotes.rst`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156277/new/ https://reviews.llvm.org/D156277 Files: clang/docs/ReleaseNotes.rst clang/

[PATCH] D156277: [Parser][ObjC] Fix parser crash on nested top-level block with better recovery path

2023-07-28 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/Parse/ParseObjc.cpp:749 + if (!Tok.is(tok::eof)) +ConsumeToken(); break; rjmccall wrote: > danix800 wrote: > > rjmccall wrote: > > > aaron.ballman wrote: > > > > rjmccall wrote: > > > > > a

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-07-28 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:7418 + + return UO; } balazske wrote: > Why is it better to use `CreateEmpty` instead of the old code? Does `Create` > do something that does not work at this situation (probably getting

[PATCH] D156277: [Parser][ObjC] Fix parser crash on nested top-level block with better recovery path

2023-07-29 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 545343. danix800 added a comment. Cleanup spaghetti-ish code. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156277/new/ https://reviews.llvm.org/D156277 Files: clang/docs/ReleaseNotes.rst clang/lib/Parse/

[PATCH] D155661: [clang][ASTImporter] Fix friend class template import within dependent context

2023-07-31 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 545912. danix800 added a comment. Cleanup as @balazske suggested. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155661/new/ https://reviews.llvm.org/D155661 Files: clang/lib/AST/ASTImporter.cpp clang/unit

[PATCH] D155661: [clang][ASTImporter] Fix friend class template import within dependent context

2023-07-31 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:2862-2866 + bool ShouldAddRedecl = !(IsFriendTemplate && IsDependentContext); + // We may already have a record of the same name; try to find and match it. RecordDecl *PrevDecl = nullptr; if (!DC-

[PATCH] D155661: [clang][ASTImporter] Fix friend class template import within dependent context

2023-07-31 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 545913. danix800 added a comment. Update ReleaseNotes.rst Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155661/new/ https://reviews.llvm.org/D155661 Files: clang/docs/ReleaseNotes.rst clang/lib/AST/ASTImp

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-08-01 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/unittests/AST/ASTImporterTest.cpp:8033 +TEST_P(ASTImporterOptionSpecificTestBase, + ImportCirularRefFieldsWithoutCorruptedRecordLayoutCacheTest) { + // Import sequence: A => A.b => B => B.f() => ... => UnaryOperator(&) => .

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-08-01 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/include/clang/AST/Expr.h:2343-2344 -protected: - /// Set FPFeatures in trailing storage, used only by Serialization + /// Set FPFeatures in trailing storage, used by Serialization & ASTImporter void setStoredFPFeatures(FPOp

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-08-01 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 546127. danix800 added a comment. 1. Update `ReleaseNotes.rst`; 2. Fix testcase names (remove `Test` suffix); 3. Use `friend` instead of exposing API. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156201/new/

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-08-01 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D156201#4551270 , @steakhal wrote: > Have you considered back porting this to clang-17? How to backport? I'm not familiar with this. Is it plain `cherry-pick` to specific branch? Repository: rG LLVM Github Monorepo CHAN

[PATCH] D155661: [clang][ASTImporter] Fix friend class template import within dependent context

2023-08-01 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D155661#4550340 , @balazske wrote: > The fix looks OK, but the test could be improved and cleaned up (for example > `FromClass` is the same as `FromD` in the test, and DeclContext is not > checked, can be done like in the te

[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields

2023-08-01 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D156201#4551464 , @aaron.ballman wrote: > LGTM! > > In D156201#4551332 , @danix800 > wrote: > >> In D156201#4551270 , @steakhal >> wrote: >

[PATCH] D157114: [clang][ASTImporter] Improve StructuralEquivalence algorithm on repeated friends

2023-08-04 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: balazske, steakhal, aaron.ballman, shafik, martong. Herald added a reviewer: a.sidorin. Herald added a project: All. danix800 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repeated

[PATCH] D157237: [clang][ASTMatcher] Add Matcher 'dependentSizedExtVectorType'

2023-08-06 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Add Matcher `dependentSizedExtVectorType` for type `DependentSizedExtVectorType`. Repository: rG LLVM Github Monore

[PATCH] D157238: [clang][ASTImporter] Add import of 'DependentSizedExtVectorType'

2023-08-06 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: Aar454on, balazske. danix800 added a project: clang. Herald added a subscriber: martong. Herald added a reviewer: a.sidorin. Herald added a reviewer: shafik. Herald added a project: All. danix800 requested review of this revision. Herald add

[PATCH] D157237: [clang][ASTMatcher] Add Matcher 'dependentSizedExtVectorType'

2023-08-06 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 547614. danix800 added a comment. Add missing Matcher registration. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157237/new/ https://reviews.llvm.org/D157237 Files: clang/docs/LibASTMatchersReference.html

[PATCH] D157237: [clang][ASTMatcher] Add Matcher 'dependentSizedExtVectorType'

2023-08-06 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D157237#4564148 , @PiotrZSL wrote: > Matcher registration is missing, verify if it's visible in clang-query. Fixed. Thanks for reminding! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.ll

  1   2   >