[PATCH] D45451: [ItaniumMangle] Undeduced auto type doesn't belong in the substitution table

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 23 11:06:57 PDT 2018


rjmccall added inline comments.


================
Comment at: clang/lib/AST/ItaniumMangle.cpp:2342
+  if (isa<AutoType>(Ty))
+    return false;
   return true;
----------------
erik.pilkington wrote:
> rjmccall wrote:
> > rjmccall wrote:
> > > rjmccall wrote:
> > > > I agree with your analysis that this shouldn't be a substitution candidate.  However, I think this probably needs an ABI-compatibility guard.
> > > You should probably add a comment like "Prior to LLVM v6, Clang accidentally treated deduced auto types as substitution candidates."
> > Er, not "prior to", I guess.  "through", maybe, or "up to and including".
> Sure, I added that comment into the new patch. You meant to say "undeduced auto types", right? Deduced auto types should have been desugared to their underlying type before this function get called in mangleType().
Yes, right, thanks.  LGTM.


https://reviews.llvm.org/D45451





More information about the cfe-commits mailing list