[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-25 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. Sorry for the late comments. Comment at: clang/lib/Sema/SemaInit.cpp:167-177 } else if (ParenExpr *PE = dyn_cast(E)) { E = PE->getSubExpr(); } else if (UnaryOperator *UO = dyn_cast(E)) { assert(UO->getOpcode() == UO_Extension);

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-10 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG878e590503df: Reland [clang] Make predefined expressions string literals under -fms-extensions (authored by aeubanks). Changed prior to commit: https://reviews.llvm.org/D146764?vs=520204&id=521039#toc

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks reopened this revision. aeubanks added a comment. This revision is now accepted and ready to land. the following crashes with this patch: struct StringRef { StringRef(const char *); }; template StringRef getTypeName() { StringRef s = __func__; } `clang -cc1 -fms-exten

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-07 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG856f384bf945: [clang] Make predefined expressions string literals under -fms-extensions (authored by aeubanks). Changed prior to commit: https://r

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. added a release note Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://l

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-05 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. Presuming that the issues found by precommit CI were resolved (current failures are unrelated to your changes), this LGTM but still needs a release note. Repository: rG LLVM G

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-04 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 519613. aeubanks added a comment. only diagnose if we're initializing an array Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 Files: clang/include/clang/AST/Expr.

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-04 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. Precommit CI found some related failures that need to be addressed, but the functional changes are all looking good to me. Be sure to also add a release note for the fix as well. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.l

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-03 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 519215. aeubanks added a comment. add -verify to module test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 Files: clang/include/clang/AST/Expr.h clang/include/

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-03 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D146764#4313905 , @aeubanks wrote: > added the warning, not sure if this needs more tests for testing the > interaction between `-pedantic`, `-Wmicrosoft`, > `-Wmicrosoft-init-from-predefined` or if that's already assum

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-02 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. added the warning, not sure if this needs more tests for testing the interaction between `-pedantic`, `-Wmicrosoft`, `-Wmicrosoft-init-from-predefined` or if that's already assumed to work Comment at: clang/test/Modules/predefined.cpp:6 +// RUN: %cla

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-02 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 518887. aeubanks added a comment. add warning Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 Files: clang/include/clang/AST/Expr.h clang/include/clang/AST/Ignor

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-02 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/test/Modules/predefined.cpp:6 +// RUN: %clang_cc1 -x c++ -std=c++20 -emit-module-interface a.h -o a.pcm -fms-extensions +// RUN: %clang_cc1 -std=c++20 a.cpp -fmodule-file=A=a.pcm -fms-extensions -fsyntax-only +

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-02 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 518777. aeubanks added a comment. add module test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 Files: clang/include/clang/AST/Expr.h clang/include/clang/AST/I

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-02 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D146764#4310655 , @aeubanks wrote: > In D146764#4310398 , @aaron.ballman > wrote: > >> I think you're missing changes in ASTReaderStmt.cpp and ASTWriterStmt.cpp, >> so serializa

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks marked an inline comment as done. aeubanks added a comment. In D146764#4310398 , @aaron.ballman wrote: > I think you're missing changes in ASTReaderStmt.cpp and ASTWriterStmt.cpp, so > serialization through modules or PCH won't work without tha

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 518548. aeubanks added a comment. address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 Files: clang/include/clang/AST/Expr.h clang/include/clang/AST/

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-01 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. I think you're missing changes in ASTReaderStmt.cpp and ASTWriterStmt.cpp, so serialization through modules or PCH won't work without that. Comment at: clang/include/clang/AST/Expr.h:1996 PredefinedExpr(SourceLocation L, QualType FNTy, IdentKi

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-05-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cg

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-04-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cg

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-04-13 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as string literals rather than char + // arrays. + if (LangOpts.MicrosoftExt) +return SL; + return PredefinedExpr::Create(Context, Loc, ResTy, I

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-04-13 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 513337. aeubanks added a comment. add comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 Files: clang/include/clang/AST/Expr.h clang/include/clang/AST/Ignor

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-04-13 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 513335. aeubanks added a comment. Herald added a subscriber: martong. use IgnoreParens instead Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146764/new/ https://reviews.llvm.org/D146764 Files: clang/include

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-27 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as string literals rather than char + // arrays. + if (LangOpts.MicrosoftExt) +return SL; + return PredefinedExpr::Create(Context, Loc, Res

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as string literals rather than char + // arrays. + if (LangOpts.MicrosoftExt) +return SL; + return PredefinedExpr::Create(Context, Loc, ResTy, IK,

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Arthur Eubanks (out until mid-April) via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as string literals rather than char + // arrays. + if (LangOpts.MicrosoftExt) +return SL; + return PredefinedExpr::Create(Context, Loc, ResTy, I

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as string literals rather than char + // arrays. + if (LangOpts.MicrosoftExt) +return SL; + return PredefinedExpr::Create(Context, Loc, ResTy, I

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as string literals rather than char + // arrays. + if (LangOpts.MicrosoftExt) +return SL; + return PredefinedExpr::Create(Context, Loc, Res

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as string literals rather than char + // arrays. + if (LangOpts.MicrosoftExt) +return SL; + return PredefinedExpr::Create(Context, Loc, ResTy, I

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added a comment. In D146764#4219278 , @hans wrote: > +mstorsjo is this okay for mingw mode too? I believe the current form of the patch is fine - i.e. disabled by default in mingw mode, but enabled if the extra MS language extensions are enable

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman requested changes to this revision. aaron.ballman added a comment. This revision now requires changes to proceed. This should also have a release note, eventually. Comment at: clang/lib/Sema/SemaExpr.cpp:3586-3591 + // MSVC treats all predefined expressions as st

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-24 Thread Hans Wennborg via Phabricator via cfe-commits
hans added a reviewer: mstorsjo. hans added a comment. +mstorsjo is this okay for mingw mode too? Comment at: clang/lib/Sema/SemaExpr.cpp:3558 +return PredefinedExpr::Create(Context, Loc, ResTy, IK, SL); + } else { // Pre-defined identifiers are of type char[x], where

[PATCH] D146764: [clang] Make predefined expressions string literals under -fms-extensions

2023-03-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added a reviewer: shafik. Herald added a project: All. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. MSVC makes these string literals [1][2]. [1] https://godbolt.org/z/6vnTzbExx [2] https: