[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-24 Thread Marek Kurdej via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG0620e6f4b76a: [clang] [C++2b] [P1102] Accept lambdas without parameter list (). (authored by curdeius). Changed prior to commit: https://reviews.llvm.org/D98433?vs=332904=332967#toc Repository: rG

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-24 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. LGTM, thank you! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98433/new/ https://reviews.llvm.org/D98433

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-24 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius updated this revision to Diff 332904. curdeius added a comment. - Address review comments (newline + remove diagnostic). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98433/new/ https://reviews.llvm.org/D98433 Files:

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-23 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Parse/ParseExprCXX.cpp:1453 - -Diag(Tok, diag::err_lambda_missing_parens) - << TokKind I believe you can remove this diagnostic from DiagnosticParseKinds.td now. Comment at:

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-23 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius updated this revision to Diff 332558. curdeius added a comment. - Format. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98433/new/ https://reviews.llvm.org/D98433 Files: clang/include/clang/Basic/DiagnosticParseKinds.td

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-22 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius updated this revision to Diff 332340. curdeius added a comment. - Use a generic message. - Fix formatting. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98433/new/ https://reviews.llvm.org/D98433 Files:

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-22 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Parse/ParseExprCXX.cpp:1445-1461 + unsigned TokKind = 0; + switch (Tok.getKind()) { + case tok::kw_mutable: TokKind = 0; break; + case tok::arrow: TokKind = 1; break; + case tok::kw___attribute:

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-22 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius added a comment. I'll fix the formatting with the next update. Comment at: clang/lib/Parse/ParseExprCXX.cpp:1445-1461 + unsigned TokKind = 0; + switch (Tok.getKind()) { + case tok::kw_mutable: TokKind = 0; break; + case tok::arrow: TokKind = 1;

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-19 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius updated this revision to Diff 331795. curdeius added a comment. - Accept but warn in pre-C++2b mode when lambda is missing '()' and have lambda-specifiers. - Fix tests. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98433/new/

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-17 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D98433#2631037 , @curdeius wrote: > I've checked and GCC accepts lambdas without parens (but with specifiers) in > all standard modes, giving a warning pre-C++2b. > I guess it's reasonable to align the behaviour. > Cf.

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-17 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius planned changes to this revision. curdeius added a comment. I've checked and GCC accepts lambdas without parens (but with specifiers) in all standard modes, giving a warning pre-C++2b. I guess it's reasonable to align the behaviour. Cf.

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-16 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius added a comment. That's my question as well to be honest. I don't know what's the policy on that. Anyway, it will simplify the code a bit I think. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98433/new/ https://reviews.llvm.org/D98433

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-16 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. I think this seems reasonable, but one question I have is: do we want to accept lambdas without parens in older C++ modes as an extension (with suitable compatibility warnings)? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-16 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius added a comment. Thank you for the review Aaron. I hope having addressed your comments so far. I'm not sure for the prototype scope though. Comment at: clang/lib/Parse/ParseExprCXX.cpp:1440 + } else if (getLangOpts().CPlusPlus2b) { +ParseScope

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-16 Thread Marek Kurdej via Phabricator via cfe-commits
curdeius updated this revision to Diff 330901. curdeius marked 4 inline comments as done. curdeius added a comment. - Add test. - Remove unnecessary PrototypeScope.exit(). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98433/new/

[PATCH] D98433: [clang] [C++2b] [P1102] Accept lambdas without parameter list ().

2021-03-15 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Parse/ParseExprCXX.cpp:1438 -// Parse trailing-return-type[opt]. -if (Tok.is(tok::arrow)) { - FunLocalRangeEnd = Tok.getLocation(); - SourceRange Range; - TrailingReturnType = -