rsmith added a comment.

Maybe we could remove `CK_BooleanToSignedFloating` and model that conversion as 
a sequence of `CK_BooleanToSignedIntegral` followed by `CK_IntegralToFloating`? 
I don't imagine it's a common operation, so the simpler AST representation is 
probably worth more than the minor memory savings.


================
Comment at: lib/AST/ExprConstant.cpp:7794
@@ -7790,1 +7793,3 @@
+      IntResult = (uint64_t)-1;
+    return Success(IntResult, E);
   }
----------------
I think this will produce the wrong value when the destination type of the cast 
is `__int128`. We should probably fix this by making `ASTContext::MakeIntValue` 
sign-extend if necessary when the target type is signed.


http://reviews.llvm.org/D14877



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

Reply via email to