Changeset bee0694 for src/ControlStruct


Ignore:
Timestamp:
Jan 29, 2019, 4:15:27 PM (7 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
no_list
Children:
bbbc067
Parents:
70a1c3ae
Message:

Changed std::list<Label> to vector

Location:
src/ControlStruct
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/LabelFixer.cc

    r70a1c3ae rbee0694  
    5050        // prune to at most one label definition for each statement
    5151        void LabelFixer::previsit( Statement *stmt ) {
    52                 std::list< Label > &labels = stmt->get_labels();
     52                std::vector< Label > &labels = stmt->get_labels();
    5353
    5454                if ( ! labels.empty() ) {
     
    7777        // sets the definition of the labelTable entry to be the provided
    7878        // statement for every label in the list parameter. Happens for every kind of statement
    79         Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) {
     79        Label LabelFixer::setLabelsDef( std::vector< Label > &llabel, Statement *definition ) {
    8080                assert( definition != 0 );
    8181                assert( llabel.size() > 0 );
     
    8383                Entry * e = new Entry( definition );
    8484
    85                 for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ ) {
     85                for ( std::vector< Label > ::iterator i = llabel.begin(); i != llabel.end(); i++ ) {
    8686                        Label & l = *i;
    8787                        l.set_statement( definition ); // attach statement to the label to be used later
  • src/ControlStruct/LabelFixer.h

    r70a1c3ae rbee0694  
    4646                void previsit( LabelAddressExpr *addrExpr );
    4747
    48                 Label setLabelsDef( std::list< Label > &, Statement *definition );
     48                Label setLabelsDef( std::vector< Label > &, Statement *definition );
    4949                template< typename UsageNode >
    5050                void setLabelsUsg( Label, UsageNode *usage = 0 );
  • src/ControlStruct/MLEMutator.cc

    r70a1c3ae rbee0694  
    7070                        if ( ! get_breakLabel().empty() ) {
    7171                                std::list< Statement * >::iterator next = k+1;
    72                                 std::list<Label> ls; ls.push_back( get_breakLabel() );
     72                                std::vector< Label > ls; ls.push_back( get_breakLabel() );
    7373                                kids.insert( next, new NullStmt( ls ) );
    7474                                set_breakLabel("");
     
    242242                if ( e.isContUsed() ) {
    243243                        // continue label goes in the body as the last statement
    244                         std::list< Label > labels; labels.push_back( e.useContExit() );
     244                        std::vector< Label > labels; labels.push_back( e.useContExit() );
    245245                        newBody->get_kids().push_back( new NullStmt( labels ) );
    246246                } // if
     
    336336                                assert( ! enclosingControlStructures.empty() );
    337337                                if ( enclosingControlStructures.back().isFallUsed() ) {
    338                                         std::list<Label> ls{ enclosingControlStructures.back().useFallExit() };
     338                                        std::vector< Label > ls{ enclosingControlStructures.back().useFallExit() };
    339339                                        caseStmt->stmts.push_back( new NullStmt( ls ) );
    340340                                } // if
     
    346346                        if ( enclosingControlStructures.back().isFallDefaultUsed() ) {
    347347                                // add fallthrough default label if necessary
    348                                 std::list<Label> ls{ enclosingControlStructures.back().useFallDefaultExit() };
     348                                std::vector< Label > ls{ enclosingControlStructures.back().useFallDefaultExit() };
    349349                                caseStmt->stmts.push_front( new NullStmt( ls ) );
    350350                        } // if
Note: See TracChangeset for help on using the changeset viewer.