aaron.ballman added inline comments.
================ Comment at: clang/include/clang/Sema/Sema.h:5281 + SourceLocation TemplateKwLoc, + bool HasTrailingLParen); + ---------------- This parameter is always false, so it seems like it can be dropped. ================ Comment at: clang/lib/Parse/ParseExprCXX.cpp:688-694 +/// ParseCXXMaybeMutableAgnosticExpression - Handle Expressions inside of +/// sizeof, decltype, noexcepr +/// - unqualified-id +/// - expression +/// This serves to silence errors about captured variable refered in lambda +/// parameter list, if they aree used as the unqualified-id of a decltype, +/// sizeof, or noexcept expression ---------------- ================ Comment at: clang/lib/Parse/ParseExprCXX.cpp:700 + + if (Tok.is(tok::identifier) && NextToken().is(tok::r_paren)) { + SourceLocation TemplateKWLoc; ---------------- This feels surprisingly restrictive to me, but it's sufficient for getting libstdc++ working again. ================ Comment at: clang/lib/Parse/ParseExprCXX.cpp:713-715 + } + } + return ParseExpression(); ---------------- In the case we get an error from parsing the unqualified id, I don't think we want to immediately try to parse an expression, right? Seems like a case to return an `ExprError` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123909/new/ https://reviews.llvm.org/D123909 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits