Changes in src/ResolvExpr/Resolver.cc [665f432:2890212]
- File:
-
- 1 edited
-
src/ResolvExpr/Resolver.cc (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.cc
r665f432 r2890212 485 485 visit_children = false; 486 486 findVoidExpression( asmExpr->operand, indexer ); 487 if ( asmExpr->get_inout() ) { 488 findVoidExpression( asmExpr->inout, indexer ); 489 } // if 487 490 } 488 491 … … 1051 1054 const ast::Expr * postmutate( const ast::CastExpr * castExpr ) { 1052 1055 if ( 1053 castExpr->isGenerated 1056 castExpr->isGenerated == ast::GeneratedCast 1054 1057 && typesCompatible( castExpr->arg->result, castExpr->result ) 1055 1058 ) { … … 1105 1108 1106 1109 // set up and resolve expression cast to void 1107 ast:: CastExpr *untyped = new ast::CastExpr{ expr };1110 ast::ptr< ast::CastExpr > untyped = new ast::CastExpr{ expr }; 1108 1111 CandidateRef choice = findUnfinishedKindExpression( 1109 1112 untyped, symtab, "", anyCandidate, ResolvMode::withAdjustment() ); … … 1244 1247 }; 1245 1248 1246 void resolve( std::list< ast::ptr< ast::Decl> >& translationUnit ) {1249 void resolve( std::list< ast::ptr< ast::Decl > >& translationUnit ) { 1247 1250 ast::Pass< Resolver_new > resolver; 1248 1251 accept_all( translationUnit, resolver ); … … 1278 1281 ast::ptr< ast::FunctionDecl > ret = functionDecl; 1279 1282 for ( unsigned i = 0; i < functionDecl->type->params.size(); ++i ) { 1280 const ast::ptr< ast::DeclWithType> & d = functionDecl->type->params[i];1283 const ast::ptr< ast::DeclWithType > & d = functionDecl->type->params[i]; 1281 1284 1282 1285 if ( const ast::ObjectDecl * obj = d.as< ast::ObjectDecl >() ) { … … 1295 1298 } 1296 1299 } 1297 return ret. get();1300 return ret.release(); 1298 1301 } 1299 1302 … … 1318 1321 // in case we decide to allow nested enums 1319 1322 GuardValue( inEnumDecl ); 1320 inEnumDecl = false;1323 inEnumDecl = true; 1321 1324 } 1322 1325 … … 1362 1365 asmExpr = ast::mutate_field( 1363 1366 asmExpr, &ast::AsmExpr::operand, findVoidExpression( asmExpr->operand, symtab ) ); 1367 1368 if ( asmExpr->inout ) { 1369 asmExpr = ast::mutate_field( 1370 asmExpr, &ast::AsmExpr::inout, findVoidExpression( asmExpr->inout, symtab ) ); 1371 } 1364 1372 1365 1373 return asmExpr;
Note:
See TracChangeset
for help on using the changeset viewer.