sammccall added a comment.

oops, needs some more tests.



================
Comment at: clang/lib/Parse/ParseDecl.cpp:2463
 
+    PreferredType.enterVariableInit(Tok.getLocation(), ThisDecl);
     ExprResult Init(ParseBraceInitializer());
----------------
oops, I missed where this was happening.

There are lots of non-vardecl cases where we might use a designated init.
We won't necessarily know the type in all of them, but it'd be good to at least 
cover the cases where we do. (Particularly `ty{...}`)


================
Comment at: clang/lib/Parse/ParseInit.cpp:162
+ExprResult Parser::ParseInitializerWithPotentialDesignator(
+    llvm::function_ref<void(const Designation &)> CodeCompleteCB) {
 
----------------
This callback stuff doesn't seem so idiomatic in the parser from what I've seen 
- can we be a bit more direct and just pass the location?


================
Comment at: clang/lib/Sema/SemaCodeComplete.cpp:4731
 
+static RecordDecl *getAsRecordDecl(const QualType BaseType) {
+  if (const RecordType *Record = BaseType->getAs<RecordType>())
----------------
sammccall wrote:
> this needs a name and/or comment to describe how it falls back to the primary 
> template if the decl for the specialization isn't known.
> (From the name, you can't tel how it's different from Type::getRecordDecl)
as discussed offline, this doesn't handle null, neither does the new caller


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73271



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

Reply via email to