Changeset 83de11e for src/GenPoly


Ignore:
Timestamp:
Jun 1, 2016, 5:58:15 PM (8 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
4df85197
Parents:
677c1be
Message:

fix invalid use of lists that caused a crash in gcc versions larger than 4.9.3C

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/GenPoly.cc

    r677c1be r83de11e  
    6464                        return false;
    6565                }
    66                
     66
    6767                /// Replaces a TypeInstType by its referrent in the environment, if applicable
    6868                Type* replaceTypeInst( Type* type, const TypeSubstitution* env ) {
     
    7878        Type *isPolyType( Type *type, const TypeSubstitution *env ) {
    7979                type = replaceTypeInst( type, env );
    80                
     80
    8181                if ( TypeInstType *typeInst = dynamic_cast< TypeInstType * >( type ) ) {
    8282                        return type;
     
    9191        Type *isPolyType( Type *type, const TyVarMap &tyVars, const TypeSubstitution *env ) {
    9292                type = replaceTypeInst( type, env );
    93                
     93
    9494                if ( TypeInstType *typeInst = dynamic_cast< TypeInstType * >( type ) ) {
    9595                        if ( tyVars.find( typeInst->get_name() ) != tyVars.end() ) {
     
    106106        Type *isPolyPtr( Type *type, const TypeSubstitution *env ) {
    107107                type = replaceTypeInst( type, env );
    108                
     108
    109109                if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) {
    110110                        return isPolyType( ptr->get_base(), env );
     
    115115        Type *isPolyPtr( Type *type, const TyVarMap &tyVars, const TypeSubstitution *env ) {
    116116                type = replaceTypeInst( type, env );
    117                
     117
    118118                if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) {
    119119                        return isPolyType( ptr->get_base(), tyVars, env );
     
    129129                while ( true ) {
    130130                        type = replaceTypeInst( type, env );
    131                
     131
    132132                        if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) {
    133133                                type = ptr->get_base();
     
    146146                while ( true ) {
    147147                        type = replaceTypeInst( type, env );
    148                
     148
    149149                        if ( PointerType *ptr = dynamic_cast< PointerType *>( type ) ) {
    150150                                type = ptr->get_base();
Note: See TracChangeset for help on using the changeset viewer.