[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-20 Thread Vlad Serebrennikov via Phabricator via cfe-commits
Endill added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; // expected-error{{no

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-19 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-19 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-10 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-10 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-10 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 added a comment. Is there any code handling the nested qualifier that I can reference? I tried to modify the `OffsetOfNode`, which allows me to handle the basic template case but still failed on the nested case. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-10 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-09 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-09 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:104 +struct X2 { int a; static int static_a; }; +int x2[__builtin_offsetof(struct X2, X2::a) == 0 ? 1 : -1]; +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-09 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/test/SemaCXX/offsetof.cpp:106 +int x3[__builtin_offsetof(struct X2, X2::static_a) == 0 ? 1 : -1]; // expected-error{{no member named 'static_a'}} +int x4[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; //

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-09 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 marked an inline comment as done. yichi170 added inline comments. Comment at: clang/docs/ReleaseNotes.rst:59 +- Improved ``__builtin_offsetof`` support, allowing qualified name in member designator. This fixes [Issue

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-09 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/docs/ReleaseNotes.rst:59 +- Improved ``__builtin_offsetof`` support, allowing qualified name in member designator. This fixes [Issue 64154](https://github.com/llvm/llvm-project/issues/64154).

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-09 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/include/clang/Sema/Sema.h:6038 SourceLocation LocStart, LocEnd; bool isBrackets; // true if [expr], false if .ident +bool isQualifier; aaron.ballman wrote: > I think we should combine `isBrackets`

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-09 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 updated this revision to Diff 548632. yichi170 marked 4 inline comments as done. yichi170 added a comment. Applied the suggestions. Thanks for giving me feedback! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157201/new/

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-08 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. Thank you for working on this! Comment at: clang/docs/ReleaseNotes.rst:59 +- Improved `__builtin_offsetof` support, allowing qualified name in member designator. You should also link to

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-07 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 updated this revision to Diff 547764. yichi170 marked an inline comment as not done. yichi170 added a comment. updated test in `test/SemaCXX/offsetof.cpp` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157201/new/

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-07 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/test/Sema/offsetof.c:79 +int x2[__builtin_offsetof(struct X2, X2::a) == 0 ? 1 : -1]; +int x3[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; // expected-error{{no member named 'X2'}} + yichi170 wrote: >

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-07 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 added inline comments. Comment at: clang/test/Sema/offsetof.c:79 +int x2[__builtin_offsetof(struct X2, X2::a) == 0 ? 1 : -1]; +int x3[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; // expected-error{{no member named 'X2'}} + Fznamznon wrote: >

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-07 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 updated this revision to Diff 547703. yichi170 added a comment. updated ReleaseNotes and applied suggestions. The related issue #63443 is still not fixed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-07 Thread Mariya Podchishchaeva via Phabricator via cfe-commits
Fznamznon added inline comments. Comment at: clang/test/Sema/offsetof.c:79 +int x2[__builtin_offsetof(struct X2, X2::a) == 0 ? 1 : -1]; +int x3[__builtin_offsetof(struct X2, X2::X2) == 0 ? 1 : -1]; // expected-error{{no member named 'X2'}} + It probably makes

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-06 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:16696-16697 + + IdentifierInfo *II = RD->getIdentifier(); + if (II == OC.U.IdentInfo && OC.isQualifier) +continue; tbaeder wrote: > I'll fix it along with the

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-06 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 updated this revision to Diff 547542. yichi170 added a comment. [Clang] Support qualified name as member designator in offsetof Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157201/new/ https://reviews.llvm.org/D157201 Files:

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-06 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added a comment. Thanks a lot for working on this. Can you add tests (to `clang/test/SemaCXX/offsetof.cpp`)? The change will also need an entry in `clang/docs/ReleaseNotes.rst` , in the "C++ Language Changes" section Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-06 Thread Timm Bäder via Phabricator via cfe-commits
tbaeder added a comment. You're missing tests. Comment at: clang/lib/Sema/SemaExpr.cpp:16696-16697 + + IdentifierInfo *II = RD->getIdentifier(); + if (II == OC.U.IdentInfo && OC.isQualifier) +continue; Repository: rG LLVM Github Monorepo

[PATCH] D157201: [Clang] Support qualified name as member designator in offsetof

2023-08-06 Thread Yichi Lee via Phabricator via cfe-commits
yichi170 created this revision. Herald added a project: All. yichi170 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D157201 Files: clang/include/clang/Sema/Sema.h