[cfe-commits] r84623 - in /cfe/trunk/lib/Sema: Sema.h SemaChecking.cpp SemaDecl.cpp SemaExpr.cpp SemaExprCXX.cpp SemaExprObjC.cpp SemaOverload.cpp SemaStmt.cpp SemaTemplate.cpp

Anders Carlsson andersca at mac.com
Tue Oct 20 07:42:01 PDT 2009

20 okt 2009 kl. 01.27 skrev Eli Friedman:

> Author: efriedma
> Date: Tue Oct 20 03:27:19 2009
> New Revision: 84623
> URL: http://llvm.org/viewvc/llvm-project?rev=84623&view=rev
> Log:
> Remove default argument for ImpCastExprToType.  Add appropriate  
> argument
> to all callers.  Switch a few other users of CK_Unknown to proper cast
> kinds.

Very cool, thanks Eli!

> Note that there are still some situations where we end up with
> CK_Unknown; they're pretty easy to find with grep. There
> are still a few missing conversion kinds, specifically
> pointer/int/float->bool and the various combinations of real/complex
> float/int->real/complex float/int.

We could add a generic CK_ToBool for now and refine it if needed  
later. I haven't thought about what kinds we need for the complex casts.

For casts where the type is dependent we could add a CK_Dependent,  
then we can finally rename CK_Unknown to CK_Invalid, and assert int he  
CastExpr ctor that the kind passed in is not invalid.


More information about the cfe-commits mailing list