rjmccall added inline comments.

================
Comment at: lib/Sema/SemaChecking.cpp:8879
+  if (IsComparisonConstant)
     return AnalyzeImpConvsInComparison(S, E);
   
----------------
lebedev.ri wrote:
> rjmccall wrote:
> > Part of the purpose of checking for signed comparisons up here is to avoid 
> > unnecessarily computing ranges for the operands when we aren't going to use 
> > them.  That's still something we want to avoid.  I think you just need to 
> > call CheckTrivialUnsignedComparison in this fallback case, at least when 
> > the comparison is not constant.
> > 
> > You should also rename CheckTrivialUnsignedComparison to something like 
> > CheckTautologicalComparison.
> Ok, i must admit that i understand the idea to have minimal overhead. But i 
> don't really follow the code in here :)
> This seems to work, and `check-clang-sema`+`check-clang-semacxx`+stage2 still 
> pass.
> Is this obviously-wrong / some testcase is missing? 
There's a lot of code here doing very similar checks, and we just want to 
ensure that we aren't doing too much redundant work.  I think the way you've 
structured it now is fine.


================
Comment at: lib/Sema/SemaChecking.cpp:8589
+  Expr *LHS = E->getLHS()->IgnoreParenImpCasts();
+  Expr *RHS = E->getRHS()->IgnoreParenImpCasts();
+
----------------
Do you still need these?  I'm always antsy about code that ignores implicit 
casts, especially before evaluation.


Repository:
  rL LLVM

https://reviews.llvm.org/D37565



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

Reply via email to