source: translator/ControlStruct/LabelGenerator.cc@ 91b216b4

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since 91b216b4 was 51b73452, checked in by Peter A. Buhr <pabuhr@…>, 11 years ago

initial commit

  • Property mode set to 100644
File size: 602 bytes
Line 
1#include <iostream>
2#include <strstream>
3
4#include "LabelGenerator.h"
5
6namespace ControlStruct {
7
8 LabelGenerator *LabelGenerator::labelGenerator = 0;
9
10 LabelGenerator *LabelGenerator::getGenerator() {
11 if ( LabelGenerator::labelGenerator == 0 )
12 LabelGenerator::labelGenerator = new LabelGenerator();
13
14 return labelGenerator;
15 }
16
17 Label LabelGenerator::newLabel() {
18 std::ostrstream os;
19 os << "__L" << current++ << "__";// << std::ends;
20 os.freeze( false );
21 std::string ret = std::string (os.str(), os.pcount());
22 return Label( ret );
23 }
24
25} // namespace ControlStruct
Note: See TracBrowser for help on using the repository browser.