lebedev.ri added a comment.

In https://reviews.llvm.org/D49838#1176622, @erichkeane wrote:

> 2 small items, otherwise looks good.


Thank you for taking a look!



================
Comment at: include/clang/AST/Expr.h:2824
     CastExprBits.Kind = kind;
-    CastExprBits.PartOfExplicitCast = false;
     setBasePathSize(BasePathSize);
----------------
erichkeane wrote:
> So, I'd prefer that this line get left in.  Removing this makes it the single 
> unused item in CastExprBitfields, so leaving it uninitialized is likely a bad 
> idea.  
Aha, ok.
That will result in less ` CastExprBits.PartOfExplicitCast = false;` lines 
scattered across different constructors, too.


================
Comment at: include/clang/AST/Expr.h:2832
     : Expr(SC, Empty) {
     setBasePathSize(BasePathSize);
   }
----------------
Oh, i forget to init it here.


================
Comment at: lib/Sema/SemaCast.cpp:97
       while ((CE = dyn_cast<ImplicitCastExpr>(CE->getSubExpr())))
-        CE->setIsPartOfExplicitCast(true);
+        dyn_cast<ImplicitCastExpr>(CE)->setIsPartOfExplicitCast(true);
     }
----------------
erichkeane wrote:
> I think I'd prefer just using a different variable in the 'while' loop to 
> avoid the cast.  something like while((auto ICE =....
> 
> That said, either way this isn't a dyn_cast, this would be just a cast (since 
> we KNOW the type).
I was trying to avoid having one extra variable, which may confuse things.
Let's see maybe it's not that ugly..


Repository:
  rC Clang

https://reviews.llvm.org/D49838



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

Reply via email to