EricWF marked 12 inline comments as done.
EricWF added inline comments.

================
Comment at: lib/Sema/SemaExpr.cpp:9825
+    LHS = S.ImpCastExprToType(LHS.get(), IntType, CK_IntegralCast);
+    RHS = S.ImpCastExprToType(RHS.get(), IntType, CK_IntegralCast);
+    LHSType = RHSType = IntType;
----------------
EricWF wrote:
> rjmccall wrote:
> > I believe this will assert if the underlying type of the enum is `bool`.
> Ack. It does indeed.
> 
> What's the correct way to promote the boolean to an integer?
I seem to have solved the problem for enums with an underlying type of bool by 
first performing LValueToRValue conversions, followed by a conversion to `int` 
instead of `bool`.

Does that sound reasonable?


================
Comment at: lib/Sema/SemaExpr.cpp:9955
+      // and direction polls
+      return buildResultTy(ComparisonCategoryType::StrongEquality);
+
----------------
rjmccall wrote:
> Should we generate a tautological warning about comparisons on `nullptr_t` 
> that aren't the result of some kind of macro/template expansion?
Probably? But we don't currently do it for equality operators, so perhaps this 
could be done in a follow up patch which adds the diagnostic for both equality 
and three-way comparisons?


https://reviews.llvm.org/D45476



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

Reply via email to