Ignore:
Timestamp:
Dec 15, 2016, 5:16:42 PM (9 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
43385ca, f7ff3fb
Parents:
5802a4f (diff), 596f987b (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 tuples

Conflicts:

src/ResolvExpr/CommonType.cc
src/tests/.expect/32/extension.txt
src/tests/.expect/32/gccExtensions.txt
src/tests/.expect/64/declarationSpecifier.txt
src/tests/.expect/64/extension.txt
src/tests/.expect/64/gccExtensions.txt
src/tests/.expect/castError.txt
src/tests/Makefile.am

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/DeclarationNode.cc

    r5802a4f r66f8528  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Oct  3 18:03:08 2016
    13 // Update Count     : 651
     12// Last Modified On : Tue Dec 13 14:43:38 2016
     13// Update Count     : 660
    1414//
    1515
     
    4848                type( nullptr ),
    4949                storageClass( NoStorageClass ),
     50                bitfieldWidth( nullptr ),
    5051                isInline( false ),
    5152                isNoreturn( false ),
    52                 bitfieldWidth( nullptr ),
    53                 initializer( nullptr ),
    5453                hasEllipsis( false ),
    5554                linkage( ::linkage ),
     55                asmName( nullptr ),
     56                initializer( nullptr ),
    5657                extension( false ) {
    5758
     
    7576        delete type;
    7677        delete bitfieldWidth;
     78        // asmName, no delete, passed to next stage
    7779        delete initializer;
    7880}
     
    9092        newnode->set_next( maybeClone( get_next() ) );
    9193        newnode->linkage = linkage;
     94        newnode->asmName = maybeClone( asmName );
    9295
    9396//      newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr;
     
    283286        DeclarationNode * newnode = new DeclarationNode;
    284287        newnode->type = nullptr;
    285         assert( ! newnode->name ); 
     288        assert( ! newnode->name );
    286289//      newnode->variable.name = name;
    287290        newnode->name = name;
     
    372375        newnode->type = new TypeData( TypeData::Builtin );
    373376        newnode->builtin = bt;
     377        newnode->type->builtintype = newnode->builtin;
    374378        return newnode;
    375379} // DeclarationNode::newBuiltinType
     
    640644}
    641645
     646DeclarationNode * DeclarationNode::addAsmName( ConstantExpr * newname ) {
     647        assert( ! asmName );
     648        asmName = newname;
     649        return this;
     650}
     651
    642652DeclarationNode * DeclarationNode::addBitfield( ExpressionNode * size ) {
    643653        bitfieldWidth = size;
     
    946956
    947957        if ( type ) {
    948                 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 );
    949959        } // if
    950960
    951961        if ( ! isInline && ! isNoreturn ) {
    952962                assertf( name, "ObjectDecl are assumed to have names\n" );
    953                 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 );
    954964        } // if
    955965
Note: See TracChangeset for help on using the changeset viewer.