Changes in src/Parser/DeclarationNode.cc [148f7290:58dd019]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/DeclarationNode.cc
r148f7290 r58dd019 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Oct 3 18:03:08 201613 // Update Count : 6 5112 // Last Modified On : Tue Dec 13 14:43:38 2016 13 // Update Count : 660 14 14 // 15 15 … … 48 48 type( nullptr ), 49 49 storageClass( NoStorageClass ), 50 bitfieldWidth( nullptr ), 50 51 isInline( false ), 51 52 isNoreturn( false ), 52 bitfieldWidth( nullptr ),53 initializer( nullptr ),54 53 hasEllipsis( false ), 55 54 linkage( ::linkage ), 55 asmName( nullptr ), 56 initializer( nullptr ), 56 57 extension( false ) { 57 58 … … 75 76 delete type; 76 77 delete bitfieldWidth; 78 // asmName, no delete, passed to next stage 77 79 delete initializer; 78 80 } … … 90 92 newnode->set_next( maybeClone( get_next() ) ); 91 93 newnode->linkage = linkage; 94 newnode->asmName = maybeClone( asmName ); 92 95 93 96 // newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr; … … 641 644 } 642 645 646 DeclarationNode * DeclarationNode::addAsmName( ConstantExpr * newname ) { 647 assert( ! asmName ); 648 asmName = newname; 649 return this; 650 } 651 643 652 DeclarationNode * DeclarationNode::addBitfield( ExpressionNode * size ) { 644 653 bitfieldWidth = size; … … 947 956 948 957 if ( type ) { 949 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, maybeBuild< Initializer >(initializer) )->set_extension( extension );958 return buildDecl( type, name ? *name : string( "" ), storageClass, maybeBuild< Expression >( bitfieldWidth ), isInline, isNoreturn, linkage, asmName, maybeBuild< Initializer >(initializer) )->set_extension( extension ); 950 959 } // if 951 960 952 961 if ( ! isInline && ! isNoreturn ) { 953 962 assertf( name, "ObjectDecl are assumed to have names\n" ); 954 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_ extension( extension );963 return (new ObjectDecl( *name, storageClass, linkage, maybeBuild< Expression >( bitfieldWidth ), nullptr, maybeBuild< Initializer >( initializer ) ))->set_asmName( asmName )->set_extension( extension ); 955 964 } // if 956 965
Note:
See TracChangeset
for help on using the changeset viewer.