Changes in src/Parser/ExpressionNode.cc [ab57786:a839867]
- File:
-
- 1 edited
-
src/Parser/ExpressionNode.cc (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ExpressionNode.cc
rab57786 ra839867 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Aug 21 09:43:31201613 // Update Count : 50 112 // Last Modified On : Thu Aug 25 21:39:40 2016 13 // Update Count : 503 14 14 // 15 15 … … 184 184 "SizeOf", "AlignOf", "OffsetOf", "?+?", "?-?", "?*?", "?/?", "?%?", "||", "&&", 185 185 "?|?", "?&?", "?^?", "Cast", "?<<?", "?>>?", "?<?", "?>?", "?<=?", "?>=?", "?==?", "?!=?", 186 "?=?", "? *=?", "?/=?", "?%=?", "?+=?", "?-=?", "?<<=?", "?>>=?", "?&=?", "?^=?", "?|=?",186 "?=?", "?@=?", "?*=?", "?/=?", "?%=?", "?+=?", "?-=?", "?<<=?", "?>>=?", "?&=?", "?^=?", "?|=?", 187 187 "?[?]", "...", 188 188 // monadic … … 191 191 192 192 Expression *build_cast( DeclarationNode *decl_node, ExpressionNode *expr_node ) { 193 Type *targetType = decl_node->buildType();193 Type *targetType = maybeMoveBuildType( decl_node ); 194 194 if ( dynamic_cast< VoidType * >( targetType ) ) { 195 195 delete targetType; … … 221 221 } 222 222 Expression *build_sizeOftype( DeclarationNode *decl_node ) { 223 Expression* ret = new SizeofExpr( decl_node->buildType() ); 224 delete decl_node; 225 return ret; 223 return new SizeofExpr( maybeMoveBuildType( decl_node ) ); 226 224 } 227 225 Expression *build_alignOfexpr( ExpressionNode *expr_node ) { … … 229 227 } 230 228 Expression *build_alignOftype( DeclarationNode *decl_node ) { 231 return new AlignofExpr( decl_node->buildType() );229 return new AlignofExpr( maybeMoveBuildType( decl_node) ); 232 230 } 233 231 Expression *build_offsetOf( DeclarationNode *decl_node, NameExpr *member ) { 234 Expression* ret = new UntypedOffsetofExpr( decl_node->buildType(), member->get_name() ); 235 delete decl_node; 232 Expression* ret = new UntypedOffsetofExpr( maybeMoveBuildType( decl_node ), member->get_name() ); 236 233 delete member; 237 234 return ret; … … 277 274 } 278 275 Expression *build_attrtype( NameExpr *var, DeclarationNode * decl_node ) { 279 return new AttrExpr( var, decl_node->buildType() );276 return new AttrExpr( var, maybeMoveBuildType( decl_node ) ); 280 277 } 281 278 … … 304 301 } 305 302 Expression *build_typevalue( DeclarationNode *decl ) { 306 return new TypeExpr( decl->buildType() );303 return new TypeExpr( maybeMoveBuildType( decl ) ); 307 304 } 308 305
Note:
See TracChangeset
for help on using the changeset viewer.