Changeset 9802f4c for src/AST


Ignore:
Timestamp:
Nov 21, 2019, 10:52:18 AM (6 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
71d6bd8
Parents:
f2d1335 (diff), 665f432 (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 new-ast

Location:
src/AST
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    rf2d1335 r9802f4c  
    898898                auto expr = visitBaseExpr( node,
    899899                        new AsmExpr(
    900                                 get<Expression>().accept1(node->inout),
     900                                new std::string(node->inout),
    901901                                get<Expression>().accept1(node->constraint),
    902902                                get<Expression>().accept1(node->operand)
     
    22702270                        new ast::AsmExpr(
    22712271                                old->location,
    2272                                 GET_ACCEPT_1(inout, Expr),
     2272                                old->inout,
    22732273                                GET_ACCEPT_1(constraint, Expr),
    22742274                                GET_ACCEPT_1(operand, Expr)
  • src/AST/Expr.hpp

    rf2d1335 r9802f4c  
    583583class AsmExpr final : public Expr {
    584584public:
    585         ptr<Expr> inout;
     585        std::string inout;
    586586        ptr<Expr> constraint;
    587587        ptr<Expr> operand;
    588588
    589         AsmExpr( const CodeLocation & loc, const Expr * io, const Expr * con, const Expr * op )
     589        AsmExpr( const CodeLocation & loc, const std::string & io, const Expr * con, const Expr * op )
    590590        : Expr( loc ), inout( io ), constraint( con ), operand( op ) {}
    591591
  • src/AST/Pass.impl.hpp

    rf2d1335 r9802f4c  
    13151315                        maybe_accept( node, &AsmExpr::result );
    13161316                }
    1317                 maybe_accept( node, &AsmExpr::inout      );
    13181317                maybe_accept( node, &AsmExpr::constraint );
    13191318                maybe_accept( node, &AsmExpr::operand    );
  • src/AST/Print.cpp

    rf2d1335 r9802f4c  
    10111011                os << "Asm Expression:" << endl;
    10121012                ++indent;
    1013                 if ( node->inout ) node->inout->accept( *this );
     1013                if ( !node->inout.empty() ) os << "[" << node->inout << "] ";
    10141014                if ( node->constraint ) node->constraint->accept( *this );
    10151015                if ( node->operand ) node->operand->accept( *this );
Note: See TracChangeset for help on using the changeset viewer.