Changes in src/GenPoly/Box.cc [9b18044:2ae171d8]
- File:
-
- 1 edited
-
src/GenPoly/Box.cc (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/Box.cc
r9b18044 r2ae171d8 141 141 virtual StructDecl *mutate( StructDecl *structDecl ) override; 142 142 virtual UnionDecl *mutate( UnionDecl *unionDecl ) override; 143 virtual TraitDecl *mutate( TraitDecl *unionDecl ) override;144 143 virtual TypeDecl *mutate( TypeDecl *typeDecl ) override; 145 144 virtual TypedefDecl *mutate( TypedefDecl *typedefDecl ) override; … … 217 216 private: 218 217 }; 218 219 219 } // anonymous namespace 220 220 … … 896 896 addAdapterParams( adapteeApp, arg, param, adapterType->get_parameters().end(), realParam, tyVars ); 897 897 bodyStmt = new ExprStmt( noLabels, adapteeApp ); 898 // } else if ( isPolyType( adaptee->get_returnVals().front()->get_type(), tyVars ) ) { 898 899 } else if ( isDynType( adaptee->get_returnVals().front()->get_type(), tyVars ) ) { 899 900 // return type T … … 1351 1352 } 1352 1353 1353 TraitDecl * Pass2::mutate( TraitDecl *aggDecl ) {1354 return handleAggDecl( aggDecl );1355 }1356 1357 1354 TypeDecl * Pass2::mutate( TypeDecl *typeDecl ) { 1358 1355 addToTyVarMap( typeDecl, scopeTyVars ); … … 1380 1377 Type *Pass2::mutate( FunctionType *funcType ) { 1381 1378 scopeTyVars.beginScope(); 1382 1383 1379 makeTyVarMap( funcType, scopeTyVars ); 1384 1380 … … 1554 1550 // (alloca was previously used, but can't be safely used in loops) 1555 1551 Type *declType = objectDecl->get_type(); 1556 ObjectDecl *newBuf = new ObjectDecl( bufNamer.newName(), Type::StorageClasses(), LinkageSpec::C, 0, 1552 std::string bufName = bufNamer.newName(); 1553 ObjectDecl *newBuf = new ObjectDecl( bufName, Type::StorageClasses(), LinkageSpec::C, 0, 1557 1554 new ArrayType( Type::Qualifiers(), new BasicType( Type::Qualifiers(), BasicType::Kind::Char), new NameExpr( sizeofName( mangleType(declType) ) ), 1558 true, false, std::list<Attribute*>{ new Attribute( "aligned", std::list<Expression*>{ new ConstantExpr( Constant::from_int(8) ) } ) } ), 0 );1555 true, false, std::list<Attribute*>{ new Attribute( std::string{"aligned"}, std::list<Expression*>{ new ConstantExpr( Constant::from_int(8) ) } ) } ), 0 ); 1559 1556 stmtsToAdd.push_back( new DeclStmt( noLabels, newBuf ) ); 1560 1557 1561 1558 delete objectDecl->get_init(); 1562 objectDecl->set_init( new SingleInit( new VariableExpr( newBuf ) ) ); 1559 1560 objectDecl->set_init( new SingleInit( new NameExpr( bufName ) ) ); 1563 1561 } 1564 1562 }
Note:
See TracChangeset
for help on using the changeset viewer.