Ignore:
Timestamp:
Jun 12, 2023, 2:45:32 PM (2 years ago)
Author:
Fangren Yu <f37yu@…>
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.
Message:

Merge branch 'master' into ast-experimental

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/LvalueNew.cpp

    r34b4268 r24d6572  
    2525#include "AST/Pass.hpp"
    2626#include "Common/SemanticError.h"      // for SemanticWarning
     27#include "Common/ToString.hpp"         // for toCString
    2728#include "Common/UniqueName.h"         // for UniqueName
    2829#include "GenPoly/GenPoly.h"           // for genFunctionType
     
    358359                                !ResolvExpr::typesCompatible(
    359360                                        srcType,
    360                                         strict_dynamic_cast<ast::ReferenceType const *>( dstType )->base,
    361                                         ast::SymbolTable() ) ) {
     361                                        strict_dynamic_cast<ast::ReferenceType const *>( dstType )->base ) ) {
    362362                        // Must keep cast if cast-to type is different from the actual type.
    363363                        return ast::mutate_field( expr, &ast::CastExpr::arg, ret );
     
    376376                if ( !ResolvExpr::typesCompatibleIgnoreQualifiers(
    377377                                dstType->stripReferences(),
    378                                 srcType->stripReferences(),
    379                                 ast::SymbolTable() ) ) {
     378                                srcType->stripReferences() ) ) {
    380379                        return ast::mutate_field( expr, &ast::CastExpr::arg, ret );
    381380                }
     
    392391                                ResolvExpr::typesCompatible(
    393392                                        expr->result,
    394                                         expr->arg->result, ast::SymbolTable() ) ) {
     393                                        expr->arg->result ) ) {
    395394                        PRINT(
    396395                                std::cerr << "types are compatible, removing cast: " << expr << '\n';
     
    589588                ast::OpenVarSet openVars;
    590589                ResolvExpr::unify( ret->arg2->result, ret->arg3->result, newEnv,
    591                         needAssertions, haveAssertions, openVars,
    592                         ast::SymbolTable(), common );
     590                        needAssertions, haveAssertions, openVars, common );
    593591                ret->result = common ? common : ast::deepCopy( ret->arg2->result );
    594592                return ret;
Note: See TracChangeset for help on using the changeset viewer.