[PATCH] D139837: [Clang] Implements CTAD for aggregates P1816R0 and P2082R1

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 28 06:54:00 PDT 2023


aaron.ballman accepted this revision.
aaron.ballman added a comment.

LGTM aside from some minor issues, thank you!



================
Comment at: clang/docs/ReleaseNotes.rst:98
+- Implemented `P1816R0: <https://wg21.link/p1816r0>`_ and `P2082R1: <https://wg21.link/p2082r1>`_,
+  which allows CTAD for aggregates (parenthesized aggregate-initialization is not supported).
 
----------------
Paren aggregate init is now supported, so this should be updated.


================
Comment at: clang/lib/Sema/SemaInit.cpp:3268-3269
     NumElements = numStructUnionElements(CurrentObjectType);
-  }
+  } else if (CurrentObjectType->isDependentType())
+    NumElements = 1;
 
----------------
For local style consistency.


================
Comment at: clang/lib/Sema/SemaInit.cpp:10686
+
   auto tryToResolveOverload =
       [&](bool OnlyListConstructors) -> OverloadingResult {
----------------



================
Comment at: clang/lib/Sema/SemaTemplate.cpp:2577-2580
+  if (CXXRecordDecl *DefRecord = DeclRecord->getDefinition()) {
+    TemplateDecl *DescribedTemplate = DefRecord->getDescribedClassTemplate();
+    Template = DescribedTemplate ? DescribedTemplate : Template;
+  }
----------------
I think this is a bit more clear as to what's happening.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139837



More information about the cfe-commits mailing list