Changeset 946bcca for src/SymTab
- Timestamp:
- Mar 17, 2017, 1:14:44 PM (9 years ago)
- 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. - Location:
- src/SymTab
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Autogen.cc
rb2f5082 r946bcca 10 10 // Created On : Thu Mar 03 15:45:56 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Mar 16 08:37:22201713 // Update Count : 5912 // Last Modified On : Fri Mar 17 09:41:08 2017 13 // Update Count : 60 14 14 // 15 15 … … 323 323 } 324 324 325 if ( type->get_ qualifiers().isConst&& func->get_name() == "?=?" ) {325 if ( type->get_const() && func->get_name() == "?=?" ) { 326 326 // don't assign const members, but do construct/destruct 327 327 continue; -
src/SymTab/Autogen.h
rb2f5082 r946bcca 10 10 // Created On : Sun May 17 21:53:34 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Mar 16 07:51:39201713 // Update Count : 812 // Last Modified On : Fri Mar 17 09:10:41 2017 13 // Update Count : 9 14 14 // 15 15 … … 60 60 // castType->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true, false); 61 61 castType->get_qualifiers() -= Type::Qualifiers( Type::Const | Type::Volatile | Type::Restrict | Type::Atomic ); 62 castType->set_ isLvalue( true ); // xxx - might not need this62 castType->set_lvalue( true ); // xxx - might not need this 63 63 dstParam = new CastExpr( dstParam, new PointerType( Type::Qualifiers(), castType ) ); 64 64 } -
src/SymTab/ImplementationType.cc
rb2f5082 r946bcca 10 10 // Created On : Sun May 17 21:32:01 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Mar 2 17:31:20 201613 // Update Count : 312 // Last Modified On : Thu Mar 16 15:54:08 2017 13 // Update Count : 4 14 14 // 15 15 … … 105 105 if ( typeDecl && typeDecl->get_base() ) { 106 106 Type *base = implementationType( typeDecl->get_base(), indexer ); 107 base->get_qualifiers() += inst->get_qualifiers();107 base->get_qualifiers() |= inst->get_qualifiers(); 108 108 result = base; 109 109 } // if … … 114 114 for ( std::list< Type* >::iterator i = tupleType->get_types().begin(); i != tupleType->get_types().end(); ++i ) { 115 115 Type *implType = implementationType( *i, indexer ); 116 implType->get_qualifiers() += tupleType->get_qualifiers();116 implType->get_qualifiers() |= tupleType->get_qualifiers(); 117 117 newType->get_types().push_back( implType ); 118 118 } // for -
src/SymTab/Mangler.cc
rb2f5082 r946bcca 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 21:40:29 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Aug 19 15:52:24 201513 // Update Count : 1911 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 17 09:40:01 2017 13 // Update Count : 20 14 14 // 15 15 … … 294 294 mangleName << "_"; 295 295 } // if 296 if ( type->get_ isConst() ) {296 if ( type->get_const() ) { 297 297 mangleName << "C"; 298 298 } // if 299 if ( type->get_ isVolatile() ) {299 if ( type->get_volatile() ) { 300 300 mangleName << "V"; 301 301 } // if … … 304 304 // mangleName << "R"; 305 305 // } // if 306 if ( type->get_ isLvalue() ) {306 if ( type->get_lvalue() ) { 307 307 mangleName << "L"; 308 308 } // if 309 if ( type->get_ isAtomic() ) {309 if ( type->get_atomic() ) { 310 310 mangleName << "A"; 311 311 } // if -
src/SymTab/Validate.cc
rb2f5082 r946bcca 10 10 // Created On : Sun May 17 21:50:04 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Mar 16 08:02:54201713 // Update Count : 35 112 // Last Modified On : Thu Mar 16 16:39:15 2017 13 // Update Count : 353 14 14 // 15 15 … … 611 611 if ( def != typedefNames.end() ) { 612 612 Type *ret = def->second.first->get_base()->clone(); 613 ret->get_qualifiers() += typeInst->get_qualifiers();613 ret->get_qualifiers() |= typeInst->get_qualifiers(); 614 614 // place instance parameters on the typedef'd type 615 615 if ( ! typeInst->get_parameters().empty() ) { … … 656 656 // hence the type-name "screen" must be defined. 657 657 // 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 ) ) { 659 661 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 ) ) { 661 663 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 ) ) { 663 665 return new EnumDecl( enumDecl->get_name() ); 664 666 } else {
Note:
See TracChangeset
for help on using the changeset viewer.