Changeset 24d6572 for src/GenPoly/LvalueNew.cpp
- Timestamp:
- Jun 12, 2023, 2:45:32 PM (2 years ago)
- Branches:
- ast-experimental, master
- Children:
- 62d62db
- Parents:
- 34b4268 (diff), 251ce80 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/LvalueNew.cpp
r34b4268 r24d6572 25 25 #include "AST/Pass.hpp" 26 26 #include "Common/SemanticError.h" // for SemanticWarning 27 #include "Common/ToString.hpp" // for toCString 27 28 #include "Common/UniqueName.h" // for UniqueName 28 29 #include "GenPoly/GenPoly.h" // for genFunctionType … … 358 359 !ResolvExpr::typesCompatible( 359 360 srcType, 360 strict_dynamic_cast<ast::ReferenceType const *>( dstType )->base, 361 ast::SymbolTable() ) ) { 361 strict_dynamic_cast<ast::ReferenceType const *>( dstType )->base ) ) { 362 362 // Must keep cast if cast-to type is different from the actual type. 363 363 return ast::mutate_field( expr, &ast::CastExpr::arg, ret ); … … 376 376 if ( !ResolvExpr::typesCompatibleIgnoreQualifiers( 377 377 dstType->stripReferences(), 378 srcType->stripReferences(), 379 ast::SymbolTable() ) ) { 378 srcType->stripReferences() ) ) { 380 379 return ast::mutate_field( expr, &ast::CastExpr::arg, ret ); 381 380 } … … 392 391 ResolvExpr::typesCompatible( 393 392 expr->result, 394 expr->arg->result , ast::SymbolTable()) ) {393 expr->arg->result ) ) { 395 394 PRINT( 396 395 std::cerr << "types are compatible, removing cast: " << expr << '\n'; … … 589 588 ast::OpenVarSet openVars; 590 589 ResolvExpr::unify( ret->arg2->result, ret->arg3->result, newEnv, 591 needAssertions, haveAssertions, openVars, 592 ast::SymbolTable(), common ); 590 needAssertions, haveAssertions, openVars, common ); 593 591 ret->result = common ? common : ast::deepCopy( ret->arg2->result ); 594 592 return ret;
Note:
See TracChangeset
for help on using the changeset viewer.