Changeset f6f0cca3


Ignore:
Timestamp:
May 18, 2018, 10:05:49 AM (3 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env, with_gc
Children:
ff29f08
Parents:
7a37f25
git-author:
Aaron Moss <a3moss@…> (05/17/18 15:51:08)
git-committer:
Aaron Moss <a3moss@…> (05/18/18 10:05:49)
Message:

Standard library builds in GC branch

Location:
src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Alternative.cc

    r7a37f25 rf6f0cca3  
    3737        Alternative::Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost, const Cost &cvtCost )
    3838                : cost( cost ), cvtCost( cvtCost ), expr( expr ), env( env ) {}
     39       
     40        Alternative::Alternative( const Alternative& o )
     41                : cost( o.cost ), cvtCost( o.cvtCost ), expr( maybeClone( o.expr ) ), env( o.env ) {}
     42       
     43        Alternative & Alternative::operator= ( const Alternative& o ) {
     44                if ( &o == this ) return *this;
     45                cost = o.cost;
     46                cvtCost = o.cvtCost;
     47                expr = maybeClone( o.expr );
     48                env = o.env;
     49                return *this;
     50        }
    3951
    4052        void Alternative::print( std::ostream &os, Indenter indent ) const {
  • src/ResolvExpr/Alternative.h

    r7a37f25 rf6f0cca3  
    3131                Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost );
    3232                Alternative( Expression *expr, const TypeEnvironment &env, const Cost &cost, const Cost &cvtCost );
    33                 Alternative( const Alternative &other ) = default;
    34                 Alternative &operator=( const Alternative &other ) = default;
     33                Alternative( const Alternative &other );
     34                Alternative & operator= ( const Alternative &other );
     35                Alternative( Alternative&& other ) = default;
     36                Alternative & operator= ( Alternative&& other ) = default;
    3537
    3638                void print( std::ostream &os, Indenter indent = {} ) const;
  • src/SynTree/GcTracer.h

    r7a37f25 rf6f0cca3  
    102102        void visit( Label& lbl ) {
    103103                acceptAll( lbl.get_attributes(), *visitor );
    104                 maybeAccept( lbl.get_statement(), *visitor );  // xxx - not sure this is needed...
     104                // maybeAccept( lbl.get_statement(), *visitor );  // introduces infinite loop in tracer
    105105        }
    106106
Note: See TracChangeset for help on using the changeset viewer.