Changes in src/SymTab/Validate.cc [5809461:e3e16bc]
- File:
-
- 1 edited
-
src/SymTab/Validate.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Validate.cc
r5809461 re3e16bc 486 486 std::list< DeclarationWithType * > asserts; 487 487 for ( Declaration * decl : inst->baseTrait->members ) { 488 asserts.push_back( s afe_dynamic_cast<DeclarationWithType *>( decl->clone() ) );488 asserts.push_back( strict_dynamic_cast<DeclarationWithType *>( decl->clone() ) ); 489 489 } 490 490 // substitute trait decl parameters for instance parameters … … 530 530 // need to carry over the 'sized' status of each decl in the instance 531 531 for ( auto p : group_iterate( traitDecl->get_parameters(), traitInst->get_parameters() ) ) { 532 TypeExpr * expr = s afe_dynamic_cast< TypeExpr * >( std::get<1>(p) );532 TypeExpr * expr = strict_dynamic_cast< TypeExpr * >( std::get<1>(p) ); 533 533 if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( expr->get_type() ) ) { 534 534 TypeDecl * formalDecl = std::get<0>(p); … … 892 892 for ( size_t i = 0; paramIter != params->end(); ++paramIter, ++i ) { 893 893 if ( i < args.size() ) { 894 TypeExpr * expr = s afe_dynamic_cast< TypeExpr * >( *std::next( args.begin(), i ) );894 TypeExpr * expr = strict_dynamic_cast< TypeExpr * >( *std::next( args.begin(), i ) ); 895 895 sub.add( (*paramIter)->get_name(), expr->get_type()->clone() ); 896 896 } else if ( i == args.size() ) { … … 962 962 if ( retVals.size() > 1 ) { 963 963 // generate a single return parameter which is the tuple of all of the return values 964 TupleType * tupleType = s afe_dynamic_cast< TupleType * >( ResolvExpr::extractResultType( ftype ) );964 TupleType * tupleType = strict_dynamic_cast< TupleType * >( ResolvExpr::extractResultType( ftype ) ); 965 965 // ensure return value is not destructed by explicitly creating an empty ListInit node wherein maybeConstruct is false. 966 966 ObjectDecl * newRet = new ObjectDecl( "", Type::StorageClasses(), LinkageSpec::Cforall, 0, tupleType, new ListInit( std::list<Initializer*>(), noDesignators, false ) );
Note:
See TracChangeset
for help on using the changeset viewer.