Ignore:
Timestamp:
Jan 31, 2022, 10:29:23 PM (2 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
Children:
ca8c0362
Parents:
45040b61
Message:

formatting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/LabelGenerator.cc

    r45040b61 r51ec1ab  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Mon Nov  8 10:18:00 2021
    13 // Update Count     : 17
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Mon Jan 31 18:48:26 2022
     13// Update Count     : 27
    1414//
    1515
     
    1717#include <sstream>              // for ostringstream
    1818#include <list>                 // for list
     19using namespace std;
    1920
    2021#include "LabelGenerator.h"
    2122
    22 #include "AST/Attribute.hpp"
    23 #include "AST/Label.hpp"
    24 #include "AST/Stmt.hpp"
    2523#include "SynTree/Attribute.h"  // for Attribute
    2624#include "SynTree/Label.h"      // for Label, operator<<
     
    3230LabelGenerator * LabelGenerator::labelGenerator = nullptr;
    3331
    34         LabelGenerator * LabelGenerator::getGenerator() {
    35                 if ( LabelGenerator::labelGenerator == 0 )
    36                         LabelGenerator::labelGenerator = new LabelGenerator();
    37                 return labelGenerator;
    38         }
     32LabelGenerator * LabelGenerator::getGenerator() {
     33        if ( LabelGenerator::labelGenerator == 0 )
     34                LabelGenerator::labelGenerator = new LabelGenerator();
     35        return labelGenerator;
     36}
    3937
    40         Label LabelGenerator::newLabel( std::string suffix, Statement * stmt ) {
    41                 std::ostringstream os;
    42                 os << "__L" << current++ << "__" << suffix;
    43                 if ( stmt && ! stmt->get_labels().empty() ) {
    44                         os << "_" << stmt->get_labels().front() << "__";
    45                 } // if
    46                 std::string ret = os.str();
    47                 Label l( ret );
    48                 l.get_attributes().push_back( new Attribute("unused") );
    49                 return l;
    50         }
    51 
    52 ast::Label LabelGenerator::newLabel(
    53                 const std::string & suffix, const ast::Stmt * stmt ) {
    54         assert( stmt );
    55 
    56         std::ostringstream os;
    57         os << "__L" << current++ << "__" << suffix;
    58         if ( stmt && !stmt->labels.empty() ) {
    59                 os << "_" << stmt->labels.front() << "__";
    60         }
    61         ast::Label ret_label( stmt->location, os.str() );
    62         ret_label.attributes.push_back( new ast::Attribute( "unused" ) );
    63         return ret_label;
     38Label LabelGenerator::newLabel( string suffix, Statement * stmt ) {
     39        ostringstream os;
     40        os << "__L_OLD" << current++ << "__" << suffix;
     41        if ( stmt && ! stmt->get_labels().empty() ) {
     42                os << "_" << stmt->get_labels().front() << "__";
     43        } // if
     44        string ret = os.str();
     45        Label l( ret );
     46        l.get_attributes().push_back( new Attribute( "unused" ) );
     47        return l;
    6448}
    6549
     
    6751
    6852// Local Variables: //
    69 // tab-width: 4 //
    7053// mode: c++ //
    71 // compile-command: "make install" //
    7254// End: //
Note: See TracChangeset for help on using the changeset viewer.