-
Notifications
You must be signed in to change notification settings - Fork 12.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[clang] Follow-up on #embed implementation #95222
Comments
@llvm/issue-subscribers-clang-frontend Author: Mariya Podchishchaeva (Fznamznon)
I merged https://github.com//pull/68620 this morning. However there are several places to improve the implementation. This issue is to track them as well as for further discussion on the matter.
To be done:
To be discussed
Please feel free to edit this if I got something wrong. CC @AaronBallman @jyknight @cor3ntin @jakubjelinek |
There are also some more follow-up concerns that were raised on the original PR, starting from #68620 (comment) |
I posted a reland #95802 . |
Is there a plan to implement a feature test macro for this? In the C++ paper, p1967, a feature test macro, __cpp_pp_embed is proposed. Or is there another way to check if embed is present for C++ that I missed, with some has_extension or has_feature macro? |
In C, the feature test macro is |
Why do you need another feature test macro? |
I have created PR #97274 to address the second item in the TODO list (Transform tok::annot_embed into a bunch of tokens and inject them back into stream. We might need a new kind of token that directly hold a numerical value.) |
Just noticed that |
Good catch, the release note seems to have been dropped. |
Here it is #97997 |
Found one more bug via testing against gcc tests |
embed crash with std::initializer_list #99050 (comment) . |
I merged #68620 this morning. However there are several places to improve the implementation. This issue is to track them as well as for further discussion on the matter.
To be done:
EmbedExpr
. Right now the storage will be duplicated if twoEmbedExpr
referencing same data are serialized. Context ✨ [Sema, Lex, Parse] Preprocessor embed in C and C++ (and Obj-C and Obj-C++ by-proxy) #68620 (comment)tok::annot_embed
into a bunch of tokens and inject them back into stream. We might need a new kind of token that directly hold a numerical value. Context ✨ [Sema, Lex, Parse] Preprocessor embed in C and C++ (and Obj-C and Obj-C++ by-proxy) #68620 (review)To be discussed
Please feel free to edit this if I got something wrong.
CC @AaronBallman @jyknight @cor3ntin @jakubjelinek
The text was updated successfully, but these errors were encountered: