Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Mangler.cc

    r8bf784a r89e6ffc  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // Mangler.cc --
     7// Mangler.cc -- 
    88//
    99// Author           : Richard C. Bilson
     
    3535                return mangler.get_mangleName();
    3636        }
    37 
     37       
    3838        Mangler::Mangler( bool mangleOverridable, bool typeMode )
    3939                : nextVarNum( 0 ), isTopLevel( true ), mangleOverridable( mangleOverridable ), typeMode( typeMode ) {}
    40 
     40               
    4141        Mangler::Mangler( const Mangler &rhs ) : mangleName() {
    4242                varNums = rhs.varNums;
     
    115115                        "Ir",   // LongDoubleImaginary
    116116                };
    117 
     117 
    118118                printQualifiers( basicType );
    119119                mangleName << btLetter[ basicType->get_kind() ];
     
    214214                                mangleName << "f";
    215215                                break;
    216                                 case TypeDecl::Ttype:
    217                                 mangleName << "tVARGS";
    218                                 break;
    219                                 default:
    220                                 assert( false );
    221216                        } // switch
    222217                        mangleName << numStream.str();
     
    258253                // skip if not including qualifiers
    259254                if ( typeMode ) return;
    260 
     255               
    261256                if ( ! type->get_forall().empty() ) {
    262257                        std::list< std::string > assertionNames;
    263                         int tcount = 0, dcount = 0, fcount = 0, vcount = 0;
     258                        int tcount = 0, dcount = 0, fcount = 0;
    264259                        mangleName << "A";
    265                         for ( Type::ForallList::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) {
     260                        for ( std::list< TypeDecl* >::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) {
    266261                                switch ( (*i)->get_kind() ) {
    267262                                  case TypeDecl::Any:
     
    274269                                        fcount++;
    275270                                        break;
    276                                   case TypeDecl::Ttype:
    277                                         vcount++;
    278                                         break;
    279                                   default:
    280                                         assert( false );
    281271                                } // switch
    282272                                varNums[ (*i )->get_name() ] = std::pair< int, int >( nextVarNum++, (int )(*i )->get_kind() );
     
    290280                                } // for
    291281                        } // for
    292                         mangleName << tcount << "_" << dcount << "_" << fcount << "_" << vcount << "_";
     282                        mangleName << tcount << "_" << dcount << "_" << fcount << "_";
    293283                        std::copy( assertionNames.begin(), assertionNames.end(), std::ostream_iterator< std::string >( mangleName, "" ) );
    294284                        mangleName << "_";
Note: See TracChangeset for help on using the changeset viewer.