User Details
- User Since
- Dec 17 2019, 1:13 AM (197 w, 6 d)
Sat, Sep 23
Rebase onto main. Run lit clang/test. Bump.
Mon, Sep 4
Looks good. Thanks!
@cor3ntin, thanks for asking. No, I do not have access. Please merge. Commits should have correct email and name.
Aug 31 2023
I found a way to implement __LPREFIX-macros-family in Clang. I need some more time to finish and polish it. Going to post it a couple of weeks later.
Aug 25 2023
Rebased onto main, fixed commit messages, fixed formatting, re-run lit for clang/test
Regarding new interpreter.
Address review comments
Aug 24 2023
The current implementation of getPredefinedExprDeclContext could be easily moved to a static function inside clang/lib/Sema/SemaExpr.cpp as it depends only on Sema::CurContext WDYT?
I missed this comment
Use isa<...> in getPredefinedExprDeclContext
Rebase onto main, address review comments
Aug 23 2023
While I work at __LPREFIX, I remove this revision from review queue.
Aug 11 2023
This implementation preserves support for identifiers L__FUNCSIG__ and L__FUNCTION__ (which have never been supported by MSVC), and adds other identifiers for all supported encodings: L, u8, u, U.
Rebase onto main (bump)
Aug 9 2023
Updated comment; rebased onto main
Aug 8 2023
Address review comments, rebase onto main
Rebased onto main, run local lit clang/tests. (bump for @cor3ntin)
As far as I understand this shall be merged into main by maintainers.
Please let me know if something else is expected from me.
Jul 26 2023
Thank you for the review! I apologize for missing the small details; I should have noticed and addressed them myself.
Rename MicrosoftStringLiteralFromPredefined
Jul 25 2023
Rename diagnostic messages constants
Removed irrelevant changes
Addressed review comments, rebased onto main
Jul 21 2023
Thanks to your suggestion of testing different types, I realized clang does not support MSVC macros with u, u8, and U prefixes in addition to L__FUNCDNAME. By the way, clang replicates MSVC behavior a little bit incorrectly: L__FUNCTION__ is not a valid token for MSVC, however it becomes valid if used via macro concatenation (see #define WIDE).
I think addition of support of new macros as well as bug fix (if possible) should be submitted separately. I'll open-up an issue, and submit a PR later.
Address review comments, rebase onto main
Jul 20 2023
Fix clang/test/SemaCXX/ms-constexpr.cpp
add HEAD~2 patch
Addressed review comments and rebased onto main.
Addressed review comments, rebased onto main
Jul 19 2023
Thank you for your quick response.
Jul 18 2023
According to git blame @rsmith has done lots of changes in clang/lib/AST/ExprConstant.cpp; added as reviewer.
Jul 16 2023
Renamed clang/test/AST/msvc-* to ms-*
Tried to improve doc note.
Rebased onto one of stable commits from main.
Jul 15 2023
Addressed review comments, rebased onto main
Jul 14 2023
Addressed review comments, rebased onto main.
Rebased onto main
Addressed review comments.
Jul 7 2023
Added @aaron.ballman as reviewer, because he was reviewer of related patch: 878e590503dff
Rebased onto main
Rebased onto main
Jun 27 2023
GitHub issue: https://github.com/llvm/llvm-project/issues/63563
Jun 3 2023
Added diagnostics for [[msvc::constexpr]] virtual
May 9 2023
I think it went unnoticed, because AFAICS lpStartEncoding is omit most of the times, which resulted MaybeLPStart == std::nullopt, and LPStart = 0.
LPStart = 0 LPOffset = LPStart + LandingPad; LPAddress = Address + LPOffset; // == Address + 0 + LandingPad == Address + LandingPad LPAddress < Address == false // OK, fragment is not skipped
Apr 21 2023
Does it prohibit the inverse? I think this documentation overall needs a much better description of what the semantics are here, particularly anything that you found in experimentation on the MS implementation.
A proper implementation
This had to be submitted to https://reviews.llvm.org/D134475
Mar 26 2023
I am sorry for protracting implementation. I am still interested to finish this (if no volunteer takes over sooner).
Jan 21 2023
I asked MSFT to comment, let's see if they can share the spec for this attribute.
Oct 2 2022
TODO: I think, I'll need to read more about constexpr for functions in standard (and LLVM code), to add relevant restrictions here.
Oct 1 2022
Add more tests, don't alter constexprKind of [[msvc::constexpr]] functions - instead change implementation of isConstexpr
Sep 23 2022
Sep 22 2022
TODO: add proper ABI tests of [[msvc::no_unique_address]]
Add naive implementation ABI of [[msvc::no_unique_address]]
Remove msvc::constexpr commit
Closing in favor of https://reviews.llvm.org/D134475
Add msvc::constexpr commit
I am new to arc, I tried arc diff --edit --verbatim as it's said in the docs, but it still created a new revision: https://reviews.llvm.org/D134458