Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/CastCost.cc

    r150ec33 r108f3cdb  
    2424#include "typeops.h"                     // for typesCompatibleIgnoreQualifiers
    2525
    26 #if 0
    27 #define PRINT(x) x
    28 #else
    29 #define PRINT(x)
    30 #endif
    3126
    3227namespace ResolvExpr {
     
    5146                        } else if ( ( namedType = indexer.lookupType( destAsTypeInst->get_name() ) ) ) {
    5247                                // all typedefs should be gone by this point
    53                                 TypeDecl *type = strict_dynamic_cast< TypeDecl* >( namedType );
     48                                TypeDecl *type = safe_dynamic_cast< TypeDecl* >( namedType );
    5449                                if ( type->get_base() ) {
    5550                                        return castCost( src, type->get_base(), indexer, env ) + Cost::safe;
     
    5752                        } // if
    5853                } // if
    59 
    60                 PRINT(
    61                         std::cerr << "castCost ::: src is ";
    62                         src->print( std::cerr );
    63                         std::cerr << std::endl << "dest is ";
    64                         dest->print( std::cerr );
    65                         std::cerr << std::endl << "env is" << std::endl;
    66                         env.print( std::cerr, 8 );
    67                 )
    68 
    6954                if ( typesCompatibleIgnoreQualifiers( src, dest, indexer, env ) ) {
    70                         PRINT( std::cerr << "compatible!" << std::endl; )
    7155                        return Cost::zero;
    7256                } else if ( dynamic_cast< VoidType* >( dest ) ) {
    7357                        return Cost::safe;
    7458                } else if ( ReferenceType * refType = dynamic_cast< ReferenceType * > ( dest ) ) {
    75                         PRINT( std::cerr << "conversionCost: dest is reference" << std::endl; )
    7659                        return convertToReferenceCost( src, refType, indexer, env, [](Type * t1, Type * t2, const TypeEnvironment & env, const SymTab::Indexer & indexer) {
    7760                                return ptrsCastable( t1, t2, env, indexer );
Note: See TracChangeset for help on using the changeset viewer.