Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/CommonType.cc

    r9d1e3f7 r53452de  
    2727#include "typeops.h"                     // for isFtype
    2828
    29 #define DEBUG
    30 #ifdef DEBUG
    31 #define PRINT(x) x
    32 #else
    33 #define PRINT(x)
    34 #endif
     29// #define DEBUG
    3530
    3631namespace ResolvExpr {
     
    7570                // need unify to bind type variables
    7671                if ( unify( t1, t2, env, have, need, newOpen, indexer, common ) ) {
    77                         PRINT(
    78                                 std::cerr << "unify success: " << widenFirst << " " << widenSecond << std::endl;
    79                         )
     72                        // std::cerr << "unify success: " << widenFirst << " " << widenSecond << std::endl;
    8073                        if ( (widenFirst || t2->get_qualifiers() <= t1->get_qualifiers()) && (widenSecond || t1->get_qualifiers() <= t2->get_qualifiers()) ) {
    81                                 PRINT(
    82                                         std::cerr << "widen okay" << std::endl;
    83                                 )
     74                                // std::cerr << "widen okay" << std::endl;
    8475                                common->get_qualifiers() |= t1->get_qualifiers();
    8576                                common->get_qualifiers() |= t2->get_qualifiers();
     
    8778                        }
    8879                }
    89                 PRINT(
    90                         std::cerr << "exact unify failed: " << t1 << " " << t2 << std::endl;
    91                 )
     80                // std::cerr << "exact unify failed: " << t1 << " " << t2 << std::endl;
    9281                return nullptr;
    9382        }
     
    10594                        // special case where one type has a reference depth of 1 larger than the other
    10695                        if ( diff > 0 || diff < 0 ) {
    107                                 PRINT(
    108                                         std::cerr << "reference depth diff: " << diff << std::endl;
    109                                 )
     96                                // std::cerr << "reference depth diff: " << diff << std::endl;
    11097                                Type * result = nullptr;
    11198                                ReferenceType * ref1 = dynamic_cast< ReferenceType * >( type1 );
     
    122109                                if ( result && ref1 ) {
    123110                                        // formal is reference, so result should be reference
    124                                         PRINT(
    125                                                 std::cerr << "formal is reference; result should be reference" << std::endl;
    126                                         )
     111                                        // std::cerr << "formal is reference; result should be reference" << std::endl;
    127112                                        result = new ReferenceType( ref1->get_qualifiers(), result );
    128113                                }
    129                                 PRINT(
    130                                         std::cerr << "common type of reference [" << type1 << "] and [" << type2 << "] is [" << result << "]" << std::endl;
    131                                 )
     114                                // std::cerr << "common type of reference [" << type1 << "] and [" << type2 << "] is [" << result << "]" << std::endl;
    132115                                return result;
    133116                        }
Note: See TracChangeset for help on using the changeset viewer.