[PATCH] D157296: [AST][Coroutine] Fix CoyieldExpr missing end loc

2023-08-07 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/lib/Sema/SemaCoroutine.cpp:321 - return S.BuildCallExpr(nullptr, Result.get(), Loc, Args, Loc, nullptr); + auto EndLoc = Args.empty() ? Loc : Args.back()->getBeginLoc(); + return S.BuildCallExpr(nullptr, Result.get(), Loc,

[PATCH] D157296: [AST][Coroutine] Fix CoyieldExpr missing end loc

2023-08-07 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: ChuanqiXu. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Fixes

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

2023-08-07 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D157238#4565442 , @balazske wrote: > In D157238#4565260 , @danix800 > wrote: > >> In D157238#4565051 , @balazske >> wrote: >> >>>

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

2023-08-07 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 547783. danix800 added a comment. Cleanup since D157237 is landed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157238/new/ https://reviews.llvm.org/D157238 Files:

[PATCH] D157249: [clang][ASTImporter] Add import of 'ConvertVectorExpr'

2023-08-07 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 547781. danix800 added a comment. Cleanup since D157248 is landed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157249/new/ https://reviews.llvm.org/D157249 Files:

[PATCH] D157249: [clang][ASTImporter] Add import of 'ConvertVectorExpr'

2023-08-07 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D157249#4565580 , @aaron.ballman wrote: >> Depends on https://reviews.llvm.org/D157248 > > FWIW, this would usually be done via a "patch stack": >

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

2023-08-07 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D157238#4565051 , @balazske wrote: > `ASTImporter` part looks good, I did not check the generated documentation > for correctness. Matcher part will be committed in https://reviews.llvm.org/D157237, these code is added

[PATCH] D157249: [clang][ASTImporter] Add import of 'ConvertVectorExpr'

2023-08-06 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 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.

[PATCH] D157248: [clang][ASTMatcher] Add Matcher 'convertVectorExpr'

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

[PATCH] D157248: [clang][ASTMatcher] Add Matcher 'convertVectorExpr'

2023-08-06 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added reviewers: PiotrZSL, aaron.ballman. danix800 added a project: clang. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Add Matcher `convertVectorExpr`. Repository: rG LLVM Github

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

2023-08-06 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 547615. danix800 added a comment. Apply git-clang-format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157238/new/ https://reviews.llvm.org/D157238 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

[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] 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

[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

[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.

[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] 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

[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

[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 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

[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] 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

[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

[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

[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

[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

[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: > > > > >

[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

[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

[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:

[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: > >

[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

[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()`, >

[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] 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

[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

[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:

[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] 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] 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

[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

[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/

[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

[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

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

2023-07-25 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:

[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

[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

[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

[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] 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 >

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

2023-07-24 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:

[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

[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

[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

[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] 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

[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] 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 > >

[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`

[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:

[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

[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

[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 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] 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.

[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

[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:

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

2023-07-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 541037. danix800 added a comment. Remove unnecessary braces. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154764/new/ https://reviews.llvm.org/D154764 Files: clang/lib/AST/ASTImporter.cpp

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

2023-07-17 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D154764#4505339 , @balazske wrote: > If I see correctly this change does that the re-ordered members are imported > before all other, specially fields come before functions. This way order of > fields is already correct

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

2023-07-16 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 project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. Fix https://github.com/llvm/llvm-project/issues/63863 Repository: rG LLVM

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

2023-07-14 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a reviewer: shuaiwang. danix800 added projects: clang, clang-tools-extra. Herald added subscribers: PiotrZSL, carlosgalvezp, manas, ASDenysPetrov, dkrupp, donat.nagy, Szelethus, a.sidorin, baloghadamsoftware. Herald added a reviewer: NoQ. Herald

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

2023-07-13 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 540254. danix800 retitled this revision from "[clang] [ASTImporter]: force recomputing ASTRecordLayout when importing" to "[ASTImporter] Fields are imported first and reordered for correct layout.". danix800 edited the summary of this revision. danix800 set

[PATCH] D154701: [ASTImporter] Fix 'isVirtual()' assert failure while importing overridden methods

2023-07-13 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 539910. danix800 retitled this revision from "[clang] Overridden CXXMethodDecl::isVirtual() assertion failed before fully imported." to "[ASTImporter] Fix 'isVirtual()' assert failure while importing overridden methods". danix800 edited the summary of this

[PATCH] D154983: [clang-extdef-mapping] register necessary targest for ms-style asm block

2023-07-12 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. Thanks! @thieta Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154983/new/ https://reviews.llvm.org/D154983 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D154983: [clang-extdef-mapping] register necessary targest for ms-style asm block

2023-07-12 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. I don't have merge permission, can anyone do the merge plz? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154983/new/ https://reviews.llvm.org/D154983 ___ cfe-commits mailing

[PATCH] D154701: [clang] Overridden CXXMethodDecl::isVirtual() assertion failed before fully imported.

2023-07-11 Thread Ding Fei via Phabricator via cfe-commits
danix800 added inline comments. Comment at: clang/test/Analysis/ctu-astimport-virtual-assertion/main.cpp:22 + +#include "Inputs/input.h" balazske wrote: > Such tests are not in the //Analysis// folder but in the //ASTMerge// folder > instead. I would say that

[PATCH] D154983: [clang-extdef-mapping] register necessary targest for ms-style asm block

2023-07-11 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang-tools-extra. Herald added a project: All. danix800 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Without targets registered gives: `error: MS-style inline assembly is not

[PATCH] D154764: [clang] ASTImport: force recomputing ASTRecordLayout when importing

2023-07-09 Thread Ding Fei via Phabricator via cfe-commits
danix800 updated this revision to Diff 538500. danix800 added a comment. Apply git-clang-format. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154764/new/ https://reviews.llvm.org/D154764 Files: clang/include/clang/AST/ASTContext.h clang/lib/AST/ExprConstant.cpp

[PATCH] D154764: [clang] ASTImport: force recomputing ASTRecordLayout when importing

2023-07-08 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 project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. RecordLayout is cached for RecordDecl. Force recomputing in case staled one is

[PATCH] D154701: Overridden CXXMethodDecl::isVirtual() assertion failed before fully imported.

2023-07-07 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. For non-pure methods with no written `virtual`, `isVirtual()` tries to count size of overridden methods. For

[PATCH] D144780: Explicit cast on customized offsetof should not be ignored when evaluating as const

2023-02-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. danix800 (danix...@gmail.com) is OK, thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144780/new/ https://reviews.llvm.org/D144780 ___ cfe-commits mailing list

[PATCH] D144780: Explicit cast on customized offsetof should not be ignored when evaluating as const

2023-02-27 Thread Ding Fei via Phabricator via cfe-commits
danix800 added a comment. In D144780#4154487 , @steakhal wrote: > I love it. Short, to the point. Thanks. > I think this is the right way to fix this. > Good job. > Can you merge the change? Or should I do it on you behalf? I've no permission to merge,

[PATCH] D144780: Explicit cast on customized offsetof should not be ignored when evaluating as const

2023-02-25 Thread Ding Fei via Phabricator via cfe-commits
danix800 created this revision. danix800 added a project: clang. Herald added subscribers: steakhal, martong. Herald added a reviewer: NoQ. Herald added a project: All. danix800 requested review of this revision. Herald added a subscriber: cfe-commits. If ignored, the subexpr is a UnaryOperator

[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

<    1   2