Changes in src/ResolvExpr/Resolver.cc [18e683b:0f6a7752]
- File:
-
- 1 edited
-
src/ResolvExpr/Resolver.cc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.cc
r18e683b r0f6a7752 1226 1226 const ast::StaticAssertDecl * previsit( const ast::StaticAssertDecl * ); 1227 1227 1228 voidprevisit( const ast::ArrayType * );1229 voidprevisit( const ast::PointerType * );1228 const ast::ArrayType * previsit( const ast::ArrayType * ); 1229 const ast::PointerType * previsit( const ast::PointerType * ); 1230 1230 1231 1231 const ast::ExprStmt * previsit( const ast::ExprStmt * ); … … 1334 1334 1335 1335 template< typename PtrType > 1336 void handlePtrType( const PtrType * type, const ast::SymbolTable & symtab ) { 1337 #warning unimplemented; needs support for new Validate::SizeType global 1338 (void)type; (void)symtab; 1339 assert( false ); 1340 } 1341 1342 void Resolver_new::previsit( const ast::ArrayType * at ) { 1343 handlePtrType( at, symtab ); 1344 } 1345 1346 void Resolver_new::previsit( const ast::PointerType * pt ) { 1347 handlePtrType( pt, symtab ); 1336 const PtrType * handlePtrType( const PtrType * type, const ast::SymbolTable & symtab ) { 1337 if ( type->dimension ) { 1338 #warning should use new equivalent to Validate::SizeType rather than sizeType here 1339 ast::ptr< ast::Type > sizeType = 1340 new ast::BasicType{ ast::BasicType::LongLongUnsignedInt }; 1341 ast::mutate_field( 1342 type, &PtrType::dimension, 1343 findSingleExpression( type->dimension, sizeType, symtab ) ); 1344 } 1345 return type; 1346 } 1347 1348 const ast::ArrayType * Resolver_new::previsit( const ast::ArrayType * at ) { 1349 return handlePtrType( at, symtab ); 1350 } 1351 1352 const ast::PointerType * Resolver_new::previsit( const ast::PointerType * pt ) { 1353 return handlePtrType( pt, symtab ); 1348 1354 } 1349 1355
Note:
See TracChangeset
for help on using the changeset viewer.