Changeset 4f147cc for src/Parser/ExpressionNode.cc
- Timestamp:
- Aug 19, 2016, 5:04:59 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- d30790f
- Parents:
- 2037f82
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ExpressionNode.cc
r2037f82 r4f147cc 183 183 184 184 Expression *build_cast( DeclarationNode *decl_node, ExpressionNode *expr_node ) { 185 Type *targetType = decl_node->buildType();185 Type *targetType = maybeMoveBuildType( decl_node ); 186 186 if ( dynamic_cast< VoidType * >( targetType ) ) { 187 187 delete targetType; … … 213 213 } 214 214 Expression *build_sizeOftype( DeclarationNode *decl_node ) { 215 Expression* ret = new SizeofExpr( decl_node->buildType() ); 216 delete decl_node; 217 return ret; 215 return new SizeofExpr( maybeMoveBuildType( decl_node ) ); 218 216 } 219 217 Expression *build_alignOfexpr( ExpressionNode *expr_node ) { … … 221 219 } 222 220 Expression *build_alignOftype( DeclarationNode *decl_node ) { 223 return new AlignofExpr( decl_node->buildType() );221 return new AlignofExpr( maybeMoveBuildType( decl_node) ); 224 222 } 225 223 Expression *build_offsetOf( DeclarationNode *decl_node, NameExpr *member ) { 226 Expression* ret = new UntypedOffsetofExpr( decl_node->buildType(), member->get_name() ); 227 delete decl_node; 224 Expression* ret = new UntypedOffsetofExpr( maybeMoveBuildType( decl_node ), member->get_name() ); 228 225 delete member; 229 226 return ret; … … 269 266 } 270 267 Expression *build_attrtype( NameExpr *var, DeclarationNode * decl_node ) { 271 return new AttrExpr( var, decl_node->buildType() );268 return new AttrExpr( var, maybeMoveBuildType( decl_node ) ); 272 269 } 273 270 … … 296 293 } 297 294 Expression *build_typevalue( DeclarationNode *decl ) { 298 return new TypeExpr( decl->buildType() );295 return new TypeExpr( maybeMoveBuildType( decl ) ); 299 296 } 300 297
Note: See TracChangeset
for help on using the changeset viewer.