Changeset 8d96dee for src


Ignore:
Timestamp:
Aug 14, 2023, 1:27:56 PM (2 years ago)
Author:
caparsons <caparson@…>
Branches:
master
Children:
3543e99
Parents:
89bef959 (diff), d32679d5 (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' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/ExceptDeclNew.cpp

    r89bef959 r8d96dee  
    242242}
    243243
    244 static ast::ObjectDecl * createExternVTable(
     244ast::ObjectDecl * createExternVTable(
    245245                CodeLocation const & location,
    246246                std::string const & exceptionName,
     
    453453        std::string const & tableName = decl->name;
    454454
    455     ast::ObjectDecl * retDecl;
     455        ast::ObjectDecl * retDecl;
    456456        if ( decl->storage.is_extern ) {
    457457                // Unique type-ids are only needed for polymorphic instances.
     
    475475        }
    476476
    477     for ( ast::ptr<ast::Attribute> const & attr : decl->attributes ) {
    478         retDecl->attributes.push_back( attr );
    479     }
    480 
    481     return retDecl;
     477        for ( ast::ptr<ast::Attribute> const & attr : decl->attributes ) {
     478                retDecl->attributes.push_back( attr );
     479        }
     480
     481        return retDecl;
    482482}
    483483
     
    485485        ast::StructInstType const * postvisit( ast::VTableType const * type ) {
    486486                auto inst = type->base.as<ast::BaseInstType>();
    487        
     487
    488488                std::string vtableName = Virtual::vtableTypeName( inst->name );
    489489
  • src/Parser/StatementNode.cc

    r89bef959 r8d96dee  
    1010// Author           : Rodolfo G. Esteves
    1111// Created On       : Sat May 16 14:59:41 2015
    12 // Last Modified By : Andrew Beach
    13 // Last Modified On : Tue Apr 11 10:16:00 2023
    14 // Update Count     : 428
     12// Last Modified By : Peter A. Buhr
     13// Last Modified On : Fri Aug 11 11:44:15 2023
     14// Update Count     : 429
    1515//
    1616
     
    374374}
    375375
    376 ast::WaitUntilStmt::ClauseNode * build_waituntil_timeout( const CodeLocation & loc, ExpressionNode * when, ExpressionNode * timeout, StatementNode * stmt ) {
    377         ast::WhenClause * clause = new ast::WhenClause( loc );
    378         clause->when_cond = notZeroExpr( maybeMoveBuild( when ) );
    379         clause->stmt = maybeMoveBuild( stmt );
    380         clause->target = maybeMoveBuild( timeout );
    381         return new ast::WaitUntilStmt::ClauseNode( ast::WaitUntilStmt::ClauseNode::Op::TIMEOUT, clause );
    382 }
    383 
    384376ast::WaitUntilStmt * build_waituntil_stmt( const CodeLocation & loc, ast::WaitUntilStmt::ClauseNode * root ) {
    385377        ast::WaitUntilStmt * retStmt = new ast::WaitUntilStmt( loc );
  • src/Parser/StatementNode.h

    r89bef959 r8d96dee  
    99// Author           : Andrew Beach
    1010// Created On       : Wed Apr  5 11:42:00 2023
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Tue Apr 11  9:43:00 2023
    13 // Update Count     : 1
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Fri Aug 11 11:44:07 2023
     13// Update Count     : 2
    1414//
    1515
     
    102102ast::WaitUntilStmt::ClauseNode * build_waituntil_clause( const CodeLocation &, ExpressionNode * when, ExpressionNode * targetExpr, StatementNode * stmt );
    103103ast::WaitUntilStmt::ClauseNode * build_waituntil_else( const CodeLocation &, ExpressionNode * when, StatementNode * stmt );
    104 ast::WaitUntilStmt::ClauseNode * build_waituntil_timeout( const CodeLocation &, ExpressionNode * when, ExpressionNode * timeout, StatementNode * stmt );
    105104ast::WaitUntilStmt * build_waituntil_stmt( const CodeLocation &, ast::WaitUntilStmt::ClauseNode * root );
    106105ast::Stmt * build_with( const CodeLocation &, ExpressionNode * exprs, StatementNode * stmt );
  • src/Parser/parser.yy

    r89bef959 r8d96dee  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jul 12 23:06:44 2023
    13 // Update Count     : 6389
     12// Last Modified On : Tue Jul 18 22:51:30 2023
     13// Update Count     : 6391
    1414//
    1515
     
    17081708        | wor_waituntil_clause wor when_clause_opt ELSE statement
    17091709                { $$ = new ast::WaitUntilStmt::ClauseNode( ast::WaitUntilStmt::ClauseNode::Op::LEFT_OR, $1, build_waituntil_else( yylloc, $3, maybe_build_compound( yylloc, $5 ) ) ); }
    1710         | wor_waituntil_clause wor when_clause_opt timeout statement    %prec THEN
    1711                 { $$ = new ast::WaitUntilStmt::ClauseNode( ast::WaitUntilStmt::ClauseNode::Op::LEFT_OR, $1, build_waituntil_timeout( yylloc, $3, $4, maybe_build_compound( yylloc, $5 ) ) ); }
    1712         // "else" must be conditional after timeout or timeout is never triggered (i.e., it is meaningless)
    1713         | wor_waituntil_clause wor when_clause_opt timeout statement wor ELSE statement // invalid syntax rule
    1714                 { SemanticError( yylloc, "syntax error, else clause must be conditional after timeout or timeout never triggered." ); $$ = nullptr; }
    1715         | wor_waituntil_clause wor when_clause_opt timeout statement wor when_clause ELSE statement
    1716                 { $$ = new ast::WaitUntilStmt::ClauseNode( ast::WaitUntilStmt::ClauseNode::Op::LEFT_OR, $1,
    1717                                 new ast::WaitUntilStmt::ClauseNode( ast::WaitUntilStmt::ClauseNode::Op::OR,
    1718                                         build_waituntil_timeout( yylloc, $3, $4, maybe_build_compound( yylloc, $5 ) ),
    1719                                         build_waituntil_else( yylloc, $7, maybe_build_compound( yylloc, $9 ) ) ) ); }
    17201710        ;
    17211711
    17221712waituntil_statement:
    17231713        wor_waituntil_clause                                                            %prec THEN
    1724                 // SKULLDUGGERY: create an empty compound statement to test parsing of waituntil statement.
    1725                 {
    1726                         $$ = new StatementNode( build_waituntil_stmt( yylloc, $1 ) );
    1727                         // $$ = new StatementNode( build_compound( yylloc, nullptr ) );
    1728                 }
     1714                { $$ = new StatementNode( build_waituntil_stmt( yylloc, $1 ) ); }
    17291715        ;
    17301716
Note: See TracChangeset for help on using the changeset viewer.