Changeset b6f2e7ab for src/GenPoly
- Timestamp:
- Sep 9, 2024, 5:15:32 PM (5 weeks ago)
- Branches:
- master
- Children:
- f5dbc8d
- Parents:
- 5c6d439
- Location:
- src/GenPoly
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/Box.cpp
r5c6d439 rb6f2e7ab 1925 1925 ast::Expr const * PolyGenericCalculator::postvisit( 1926 1926 ast::SizeofExpr const * expr ) { 1927 ast::Type const * type = expr->type ? expr->type : expr->expr->result; 1928 ast::Expr const * gen = genSizeof( expr->location, type ); 1927 ast::Expr const * gen = genSizeof( expr->location, expr->type ); 1929 1928 return ( gen ) ? gen : expr; 1930 1929 } … … 1932 1931 ast::Expr const * PolyGenericCalculator::postvisit( 1933 1932 ast::AlignofExpr const * expr ) { 1934 ast::Type const * type = expr->type ? expr->type : expr->expr->result; 1935 ast::Expr const * gen = genAlignof( expr->location, type ); 1933 ast::Expr const * gen = genAlignof( expr->location, expr->type ); 1936 1934 return ( gen ) ? gen : expr; 1937 1935 } -
src/GenPoly/GenPoly.cpp
r5c6d439 rb6f2e7ab 299 299 ast::SizeofExpr const * r = as<ast::SizeofExpr>(rhs); 300 300 301 assert((l->type != nullptr) ^ (l->expr != nullptr)); 302 assert((r->type != nullptr) ^ (r->expr != nullptr)); 303 if ( !(l->type && r->type) ) return false; 301 assert( l->type ); 302 assert( r->type ); 304 303 305 304 // mutual recursion with type poly compatibility -
src/GenPoly/Lvalue.cpp
r5c6d439 rb6f2e7ab 607 607 ast::SizeofExpr const * ReferenceTypeElimination::previsit( 608 608 ast::SizeofExpr const * expr ) { 609 if ( expr->expr ) return expr;610 609 return ast::mutate_field( expr, &ast::SizeofExpr::type, 611 610 expr->type->stripReferences() ); … … 614 613 ast::AlignofExpr const * ReferenceTypeElimination::previsit( 615 614 ast::AlignofExpr const * expr ) { 616 if ( expr->expr ) return expr;617 615 return ast::mutate_field( expr, &ast::AlignofExpr::type, 618 616 expr->type->stripReferences() );
Note: See TracChangeset
for help on using the changeset viewer.