Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Concurrency/Waituntil.cpp

    rbccd70a rb09ca2b  
    1414//
    1515
     16#include <string>
     17
    1618#include "Waituntil.hpp"
    17 
    18 #include <string>
    19 
    20 #include "AST/Copy.hpp"
    2119#include "AST/Expr.hpp"
    2220#include "AST/Pass.hpp"
     
    940938        }
    941939
    942     // C_TODO: will remove this commented code later. Currently it isn't needed but may switch to a modified version of this later if it has better performance
    943     // std::vector<ptr<CaseClause>> switchCases;
    944 
    945     // int idx = 0;
    946     // for ( const auto & clause: stmt->clauses ) {
    947     //     const CodeLocation & cLoc = clause->location;
    948     //     switchCases.push_back(
    949     //         new CaseClause( cLoc,
    950     //             new CastExpr( cLoc,
    951     //                 new AddressExpr( cLoc, new NameExpr( cLoc, data.at(idx)->targetName ) ),
    952     //                 new BasicType( BasicType::Kind::LongUnsignedInt ), GeneratedFlag::ExplicitCast
    953     //             ),
    954     //             {
    955     //                 new CompoundStmt( cLoc,
    956     //                     {
    957     //                         ast::deepCopy( clause->stmt ),
    958     //                         new BranchStmt( cLoc, BranchStmt::Kind::Break, Label( cLoc ) )
    959     //                     }
    960     //                 )
    961     //             }
    962     //         )
    963     //     );
    964     //     idx++;
    965     // }
    966 
    967940    return new CompoundStmt( loc,
    968941        {
    969942            new ExprStmt( loc, new UntypedExpr( loc, new NameExpr( loc, "park" ) ) ),
    970943            outerIf
    971             // new SwitchStmt( loc,
    972             //     new NameExpr( loc, statusName ),
    973             //     std::move( switchCases )
    974             // )
    975944        }
    976945    );
     
    1015984    const CodeLocation & cLoc = stmt->clauses.at(idx)->location;
    1016985
     986    Expr * baseCond = genSelectTraitCall( stmt->clauses.at(idx), data.at(idx), "register_select" );
    1017987    Expr * ifCond;
    1018988
     
    1025995            ),
    1026996            new CastExpr( cLoc,
    1027                 genSelectTraitCall( stmt->clauses.at(idx), data.at(idx), "register_select" ),
     997                baseCond,
    1028998                new BasicType( BasicType::Kind::Bool ), GeneratedFlag::ExplicitCast
    1029999            ),
    10301000            LogicalFlag::AndExpr
    10311001        );
    1032     } else ifCond = genSelectTraitCall( stmt->clauses.at(idx), data.at(idx), "register_select" );
     1002    } else ifCond = baseCond;
    10331003
    10341004    return new CompoundStmt( cLoc,
Note: See TracChangeset for help on using the changeset viewer.