Changeset 0555f4b


Ignore:
Timestamp:
Aug 24, 2016, 12:37:56 PM (8 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, 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:
486341f
Parents:
79970ed (diff), f39096c (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 ctor

Location:
src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/DeclarationNode.cc

    r79970ed r0555f4b  
    5050        newnode->isInline = isInline;
    5151        newnode->isNoreturn = isNoreturn;
    52         newnode->bitfieldWidth = bitfieldWidth;
     52        newnode->bitfieldWidth = maybeClone( bitfieldWidth );
    5353        newnode->hasEllipsis = hasEllipsis;
    54         newnode->initializer = initializer;
     54        newnode->initializer = maybeClone( initializer );
    5555        newnode->set_next( maybeClone( get_next() ) );
    5656        newnode->linkage = linkage;
     
    804804                                        *out++ = decl;
    805805                                } // if
     806                                delete extr;
    806807                        } // if
    807808                        Declaration *decl = cur->build();
  • src/Parser/ParseNode.h

    r79970ed r0555f4b  
    109109        ExpressionNode( const ExpressionNode &other );
    110110        virtual ~ExpressionNode() {}
    111         virtual ExpressionNode *clone() const { assert( false ); return nullptr; }
     111        virtual ExpressionNode *clone() const { return expr ? new ExpressionNode( expr->clone() ) : nullptr; }
    112112
    113113        bool get_extension() const { return extension; }
  • src/Parser/StatementNode.cc

    r79970ed r0555f4b  
    4444                        agg = decl;
    4545                } // if
    46                 stmt.reset( new DeclStmt( noLabels, maybeBuild< Declaration >(agg) ) );
     46                stmt.reset( new DeclStmt( noLabels, maybeMoveBuild< Declaration >(agg) ) );
    4747        } else {
    4848                assert( false );
  • src/Parser/TypeData.cc

    r79970ed r0555f4b  
    182182                break;
    183183          case Array:
    184                 newtype->array->dimension = array->dimension;
     184                newtype->array->dimension = maybeClone( array->dimension );
    185185                newtype->array->isVarLen = array->isVarLen;
    186186                newtype->array->isStatic = array->isStatic;
  • src/SynTree/Initializer.cc

    r79970ed r0555f4b  
    4343
    4444SingleInit::~SingleInit() {
     45        delete value;
    4546        deleteAll(designators);
    4647}
Note: See TracChangeset for help on using the changeset viewer.