Changes in / [610194e:79caea8]
- Location:
- src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.yy
r610194e r79caea8 2307 2307 { $$ = new ExpressionNode( new TypeExpr( maybeMoveBuildType( $1 ) ) ); } 2308 2308 | assignment_expression 2309 { SemanticError( yylloc, toString("Expression generic parameters are currently unimplemented: ", $1->build()) ); $$ = nullptr; }2310 2309 | type_list ',' type 2311 2310 { $$ = (ExpressionNode *)( $1->set_last( new ExpressionNode( new TypeExpr( maybeMoveBuildType( $3 ) ) ) ) ); } 2312 2311 | type_list ',' assignment_expression 2313 { SemanticError( yylloc, toString("Expression generic parameters are currently unimplemented: ", $3->build()) ); $$ = nullptr; } 2314 // { $$ = (ExpressionNode *)( $1->set_last( $3 )); } 2312 { $$ = (ExpressionNode *)( $1->set_last( $3 )); } 2315 2313 ; 2316 2314 -
src/ResolvExpr/AlternativeFinder.cc
r610194e r79caea8 482 482 template< typename ForwardIterator, typename OutputIterator > 483 483 void inferRecursive( ForwardIterator begin, ForwardIterator end, const Alternative &newAlt, OpenVarSet &openVars, const SymTab::Indexer &decls, const AssertionSet &newNeed, int level, const SymTab::Indexer &indexer, OutputIterator out ) { 484 if ( newAlt.cost == Cost::infinity ) return; // don't proceed down this dead end485 484 if ( begin == end ) { 486 485 if ( newNeed.empty() ) { … … 1186 1185 std::cerr << "bindings are:" << std::endl; 1187 1186 withFunc.env.print( std::cerr, 8 ); 1188 std::cerr << "cost is: " << withFunc.cost << std::endl;1189 1187 std::cerr << "cost of conversion is:" << cvtCost << std::endl; 1190 1188 ) -
src/ResolvExpr/CommonType.cc
r610194e r79caea8 267 267 result = otherPointer->clone(); 268 268 } // if 269 strict_dynamic_cast<PointerType*>(result)->base->get_qualifiers() = tq1 | tq2;269 result->get_qualifiers() = tq1 | tq2; 270 270 } else { 271 271 /// std::cerr << "place for ptr-to-type" << std::endl; … … 304 304 result = otherRef->clone(); 305 305 } // if 306 strict_dynamic_cast<ReferenceType*>(result)->base->get_qualifiers() = tq1 | tq2;306 result->get_qualifiers() = tq1 | tq2; 307 307 } else { 308 308 /// std::cerr << "place for ptr-to-type" << std::endl; -
src/SymTab/FixFunction.cc
r610194e r79caea8 30 30 // can't delete function type because it may contain assertions, so transfer ownership to new object 31 31 ObjectDecl *pointer = new ObjectDecl( functionDecl->name, functionDecl->get_storageClasses(), functionDecl->linkage, nullptr, new PointerType( Type::Qualifiers(), functionDecl->type ), nullptr, functionDecl->attributes ); 32 pointer->location = functionDecl->location;33 32 functionDecl->attributes.clear(); 34 33 functionDecl->type = nullptr; … … 44 43 // need to recursively mutate the base type in order for multi-dimensional arrays to work. 45 44 PointerType *pointerType = new PointerType( arrayType->get_qualifiers(), arrayType->base, arrayType->dimension, arrayType->isVarLen, arrayType->isStatic ); 46 pointerType->location = arrayType->location;47 45 arrayType->base = nullptr; 48 46 arrayType->dimension = nullptr;
Note:
See TracChangeset
for help on using the changeset viewer.