Shafik Yaghmour
6f30ef3601
[Clang] Modify Parser::ParseLambdaExpressionAfterIntroducer to check whether the lambda-declarator is valid
...
We had a couple of crashes due to invalid lambda trailing return types that
were diagnosed but not treated as errors during parsing. So now in
Parser::ParseLambdaExpressionAfterIntroducer(...) after ActOnStartOfLambdaDefinition(...)
we also check if the lambda-declarator is invalid and if so we end up in ActOnLambdaError(...).
Fixes: https://github.com/llvm/llvm-project/issues/64962
https://github.com/llvm/llvm-project/issues/28679
Differential Revision: https://reviews.llvm.org/D158808
2023-08-29 11:28:57 -07:00
Mark de Wever
ba15d186e5
[clang] Use -std=c++23 instead of -std=c++2b
...
During the ISO C++ Committee meeting plenary session the C++23 Standard
has been voted as technical complete.
This updates the reference to c++2b to c++23 and updates the __cplusplus
macro.
Drive-by fixes c++1z -> c++17 and c++2a -> c++20 when seen.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D149553
2023-05-04 19:19:52 +02:00
Marek Kurdej
a99b8ae390
[clang] [PR49736] [C++2b] Correctly reject lambdas with requires clause and no parameter list
...
This fixes http://llvm.org/PR49736 caused by implementing http://wg21.link/P1102 (https://reviews.llvm.org/rG0620e6f4b76a9725dbd82454d58c5a68a7e47074 ), by correctly allowing requires-clause only:
1) directly after template-parameter-list
2) after lambda-specifiers iff parameter-declaration-clause is present (2nd kind of lambda-declarator)
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D99489
2021-03-30 13:53:55 +02:00
Marek Kurdej
0620e6f4b7
[clang] [C++2b] [P1102] Accept lambdas without parameter list ().
...
As an extension, accept such lambdas in previous standards with a warning.
* http://eel.is/c++draft/expr.prim.lambda
* http://wg21.link/P1102
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D98433
2021-03-24 14:42:27 +01:00
Hamza Sood
8205a814a6
[c++20] Implement P0428R2 - Familiar template syntax for generic lambdas
...
Differential Revision: https://reviews.llvm.org/D36527
llvm-svn: 359967
2019-05-04 10:49:46 +00:00