aaron.ballman added a comment.

Some drive by comments, I plan to do a more thorough review when I have the 
chance.



================
Comment at: clang/docs/ReleaseNotes.rst:97
   and `51641 <https://github.com/llvm/llvm-project/issues/51641>`_.
-- The builtin function __builtin_dump_struct would crash clang when the target 
+- The builtin function __builtin_dump_struct would crash clang when the target
   struct contains a bitfield. It now correctly handles bitfields.
----------------
Unintended whitespace change?


================
Comment at: clang/docs/ReleaseNotes.rst:217
 - Implemented `P2242R3: Non-literal variables (and labels and gotos) in 
constexpr functions    <https://wg21.link/P2242R3>`_.
+- implemented `P2036R3: Change scope of lambda trailing-return-type 
<https://wg21.link/P2036R3>`_.
+  This proposal modifies how variables captured in lambdas can appear in 
trailing return type
----------------



================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:7702
+  def err_lambda_used_before_capture: Error<
+    "captured variable %0 cannot appear before the end of the lambda's 
parameter list">;
   def note_lambda_variable_capture_fixit : Note<
----------------



================
Comment at: clang/include/clang/Sema/Scope.h:47-51
+    FnScope = 0x01,
 
     /// This is a while, do, switch, for, etc that can have break
     /// statements embedded into it.
+    BreakScope = 0x02,
----------------
Unintended whitespace changes?


================
Comment at: clang/include/clang/Sema/Scope.h:145-147
+    /// Lambdas need 2 FunctionPrototypeScope scopes ( because there is a
+    /// template scope in between),
+    /// the outer scope does not increase the depth of recursion.
----------------



================
Comment at: clang/include/clang/Sema/ScopeInfo.h:840
+
+  /// Holds the captures until we parsed the qualifiers,
+  /// as the cv qualified type of capture can only be computed at that point,
----------------
Can you re-flow the comments to 80 cols?


================
Comment at: clang/lib/Parse/ParseExprCXX.cpp:1259
   Actions.PushLambdaScope();
+  Actions.ActOnLambdaIntroducer(Intro, getCurScope());
 
----------------
This call surprises me here -- I would expect to see this called from 
`ParseLambdaIntroducer()` so that anyone who parses a lambda introducer gets 
the action.


================
Comment at: clang/lib/Sema/Scope.cpp:71
   // If this is a prototype scope, record that.
-  if (flags & FunctionPrototypeScope) PrototypeDepth++;
+  // Lambdas have an extra prototype scope that doesn't add any depth
+  if (flags & FunctionPrototypeScope && !(flags & LambdaScope))
----------------
Should re-flow comments with the above line.


================
Comment at: clang/lib/Sema/SemaDecl.cpp:14352
   DeclarationNameInfo DNI = CallOperator->getNameInfo();
-
   LSI->IntroducerRange = DNI.getCXXOperatorNameRange();
----------------
Unintended whitespace change?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119136/new/

https://reviews.llvm.org/D119136

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to