[PATCH] D57114: Remove Expr sugar decorating the CXXUuidofExpr node.

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 24 12:53:41 PST 2019


aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.

LGTM!



================
Comment at: lib/Sema/SemaTemplate.cpp:6311
         if (isa<CXXUuidofExpr>(E)) {
-          Converted = TemplateArgument(ArgResult.get());
+          Converted = TemplateArgument(ArgResult.get()->IgnoreImpCasts());
           break;
----------------
void wrote:
> aaron.ballman wrote:
> > `IgnoreParenImpCasts()` or are the paren expressions of value?
> I want to make this a minimal change. Richard was okay with just the implicit casts. I'm not relaly qualified in this part of the code to say that we should also include parentheses in this. I'll leave that up to you and Richard.
> 
>   https://bugs.llvm.org/show_bug.cgi?id=40395
> I want to make this a minimal change. Richard was okay with just the implicit casts. I'm not relaly qualified in this part of the code to say that we should also include parentheses in this. I'll leave that up to you and Richard.

Ah, thank you for the link, that helps!

>  I was looking at which of the Expr::Ignore* function to use for something else and it seems that IgnoreParenImpCasts() is *not* equivalent to doing IgnoreParens() + IgnoreImpCasts() until reaching a fixed point.

That is surprising, and good to know!


Repository:
  rC Clang

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

https://reviews.llvm.org/D57114





More information about the cfe-commits mailing list