- Timestamp:
- Mar 14, 2017, 11:09:16 AM (7 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:
- 64adb03
- Parents:
- 3ad7978
- Location:
- src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Autogen.h
r3ad7978 rc54b0b4 58 58 assert( type ); 59 59 Type * castType = type->clone(); 60 castType->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true );60 castType->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true, false); 61 61 castType->set_isLvalue( true ); // xxx - might not need this 62 62 dstParam = new CastExpr( dstParam, new PointerType( Type::Qualifiers(), castType ) ); -
src/SymTab/Validate.cc
r3ad7978 rc54b0b4 323 323 ObjectDecl * obj = dynamic_cast< ObjectDecl * >( *i ); 324 324 assert( obj ); 325 obj->set_type( new EnumInstType( Type::Qualifiers( true, false, false, false, false ), enumDecl->get_name() ) );325 obj->set_type( new EnumInstType( Type::Qualifiers( true, false, false, false, false, false ), enumDecl->get_name() ) ); 326 326 } // for 327 327 Parent::visit( enumDecl ); -
src/SynTree/Type.h
r3ad7978 rc54b0b4 25 25 public: 26 26 struct Qualifiers { 27 Qualifiers(): isConst( false ), isVolatile( false ), isRestrict( false ), isLvalue( false ), isAtomic( false ) {}28 Qualifiers( bool isConst, bool isVolatile, bool isRestrict, bool isLvalue, bool isAtomic ): isConst( isConst ), isVolatile( isVolatile ), isRestrict( isRestrict ), isLvalue( isLvalue ), isAtomic( isAtomic) {}27 Qualifiers(): isConst( false ), isVolatile( false ), isRestrict( false ), isLvalue( false ), isAtomic( false ), isMutex( false ) {} 28 Qualifiers( bool isConst, bool isVolatile, bool isRestrict, bool isLvalue, bool isAtomic, bool isMutex ): isConst( isConst ), isVolatile( isVolatile ), isRestrict( isRestrict ), isLvalue( isLvalue ), isAtomic( isAtomic ), isMutex( isMutex ) {} 29 29 30 30 Qualifiers &operator&=( const Qualifiers &other ); … … 45 45 bool isLvalue; 46 46 bool isAtomic; 47 bool isMutex; 47 48 }; 48 49 … … 511 512 isLvalue &= other.isLvalue; 512 513 isAtomic &= other.isAtomic; 514 isMutex &= other.isMutex; 513 515 return *this; 514 516 } … … 520 522 isLvalue |= other.isLvalue; 521 523 isAtomic |= other.isAtomic; 524 isMutex |= other.isMutex; 522 525 return *this; 523 526 } … … 528 531 if ( other.isRestrict ) isRestrict = 0; 529 532 if ( other.isAtomic ) isAtomic = 0; 533 if ( other.isMutex ) isMutex = 0; 530 534 return *this; 531 535 } -
src/Tuples/TupleAssignment.cc
r3ad7978 rc54b0b4 199 199 Type * type = InitTweak::getPointerBase( castType ); 200 200 assert( type ); 201 type->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true );201 type->get_qualifiers() -= Type::Qualifiers(true, true, true, false, true, false); 202 202 type->set_isLvalue( true ); // xxx - might not need this 203 203 expr = new CastExpr( expr, castType ); -
src/Tuples/TupleExpansion.cc
r3ad7978 rc54b0b4 305 305 Type * makeTupleType( const std::list< Expression * > & exprs ) { 306 306 // produce the TupleType which aggregates the types of the exprs 307 TupleType *tupleType = new TupleType( Type::Qualifiers(true, true, true, true, true ) );307 TupleType *tupleType = new TupleType( Type::Qualifiers(true, true, true, true, true, true) ); 308 308 Type::Qualifiers &qualifiers = tupleType->get_qualifiers(); 309 309 for ( Expression * expr : exprs ) {
Note: See TracChangeset
for help on using the changeset viewer.