Changeset 946bcca for src/SymTab


Ignore:
Timestamp:
Mar 17, 2017, 1:14:44 PM (9 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
14a33790, 7c70089, 89d129c
Parents:
b2f5082 (diff), 615a096 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:/u/cforall/software/cfa/cfa-cc

Location:
src/SymTab
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Autogen.cc

    rb2f5082 r946bcca  
    1010// Created On       : Thu Mar 03 15:45:56 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Mar 16 08:37:22 2017
    13 // Update Count     : 59
     12// Last Modified On : Fri Mar 17 09:41:08 2017
     13// Update Count     : 60
    1414//
    1515
     
    323323                                }
    324324
    325                                 if ( type->get_qualifiers().isConst && func->get_name() == "?=?" ) {
     325                                if ( type->get_const() && func->get_name() == "?=?" ) {
    326326                                        // don't assign const members, but do construct/destruct
    327327                                        continue;
  • src/SymTab/Autogen.h

    rb2f5082 r946bcca  
    1010// Created On       : Sun May 17 21:53:34 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Mar 16 07:51:39 2017
    13 // Update Count     : 8
     12// Last Modified On : Fri Mar 17 09:10:41 2017
     13// Update Count     : 9
    1414//
    1515
     
    6060//                      castType->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true, false);
    6161                        castType->get_qualifiers() -= Type::Qualifiers( Type::Const | Type::Volatile | Type::Restrict | Type::Atomic );
    62                         castType->set_isLvalue( true ); // xxx - might not need this
     62                        castType->set_lvalue( true ); // xxx - might not need this
    6363                        dstParam = new CastExpr( dstParam, new PointerType( Type::Qualifiers(), castType ) );
    6464                }
  • src/SymTab/ImplementationType.cc

    rb2f5082 r946bcca  
    1010// Created On       : Sun May 17 21:32:01 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Mar  2 17:31:20 2016
    13 // Update Count     : 3
     12// Last Modified On : Thu Mar 16 15:54:08 2017
     13// Update Count     : 4
    1414//
    1515
     
    105105                if ( typeDecl && typeDecl->get_base() ) {
    106106                        Type *base = implementationType( typeDecl->get_base(), indexer );
    107                         base->get_qualifiers() += inst->get_qualifiers();
     107                        base->get_qualifiers() |= inst->get_qualifiers();
    108108                        result = base;
    109109                } // if
     
    114114                for ( std::list< Type* >::iterator i = tupleType->get_types().begin(); i != tupleType->get_types().end(); ++i ) {
    115115                        Type *implType = implementationType( *i, indexer );
    116                         implType->get_qualifiers() += tupleType->get_qualifiers();
     116                        implType->get_qualifiers() |= tupleType->get_qualifiers();
    117117                        newType->get_types().push_back( implType );
    118118                } // for
  • src/SymTab/Mangler.cc

    rb2f5082 r946bcca  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 21:40:29 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Aug 19 15:52:24 2015
    13 // Update Count     : 19
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Fri Mar 17 09:40:01 2017
     13// Update Count     : 20
    1414//
    1515
     
    294294                        mangleName << "_";
    295295                } // if
    296                 if ( type->get_isConst() ) {
     296                if ( type->get_const() ) {
    297297                        mangleName << "C";
    298298                } // if
    299                 if ( type->get_isVolatile() ) {
     299                if ( type->get_volatile() ) {
    300300                        mangleName << "V";
    301301                } // if
     
    304304//                      mangleName << "R";
    305305//              } // if
    306                 if ( type->get_isLvalue() ) {
     306                if ( type->get_lvalue() ) {
    307307                        mangleName << "L";
    308308                } // if
    309                 if ( type->get_isAtomic() ) {
     309                if ( type->get_atomic() ) {
    310310                        mangleName << "A";
    311311                } // if
  • src/SymTab/Validate.cc

    rb2f5082 r946bcca  
    1010// Created On       : Sun May 17 21:50:04 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Mar 16 08:02:54 2017
    13 // Update Count     : 351
     12// Last Modified On : Thu Mar 16 16:39:15 2017
     13// Update Count     : 353
    1414//
    1515
     
    611611                if ( def != typedefNames.end() ) {
    612612                        Type *ret = def->second.first->get_base()->clone();
    613                         ret->get_qualifiers() += typeInst->get_qualifiers();
     613                        ret->get_qualifiers() |= typeInst->get_qualifiers();
    614614                        // place instance parameters on the typedef'd type
    615615                        if ( ! typeInst->get_parameters().empty() ) {
     
    656656                // hence the type-name "screen" must be defined.
    657657                // Note, qualifiers on the typedef are superfluous for the forward declaration.
    658                 if ( StructInstType *aggDecl = dynamic_cast< StructInstType * >( tyDecl->get_base() ) ) {
     658
     659                Type *designatorType = tyDecl->get_base()->stripDeclarator();
     660                if ( StructInstType *aggDecl = dynamic_cast< StructInstType * >( designatorType ) ) {
    659661                        return new StructDecl( aggDecl->get_name() );
    660                 } else if ( UnionInstType *aggDecl = dynamic_cast< UnionInstType * >( tyDecl->get_base() ) ) {
     662                } else if ( UnionInstType *aggDecl = dynamic_cast< UnionInstType * >( designatorType ) ) {
    661663                        return new UnionDecl( aggDecl->get_name() );
    662                 } else if ( EnumInstType *enumDecl = dynamic_cast< EnumInstType * >( tyDecl->get_base() ) ) {
     664                } else if ( EnumInstType *enumDecl = dynamic_cast< EnumInstType * >( designatorType ) ) {
    663665                        return new EnumDecl( enumDecl->get_name() );
    664666                } else {
Note: See TracChangeset for help on using the changeset viewer.