- File:
-
- 1 edited
-
src/ControlStruct/LabelGeneratorNew.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/LabelGeneratorNew.cpp
r400b8be rfde0a58 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // LabelGenerator New.cpp--7 // LabelGenerator.cc -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Mon Mar 28 10:03:00202213 // Update Count : 7 311 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 2 09:11:17 2022 13 // Update Count : 72 14 14 // 15 15 … … 25 25 namespace ControlStruct { 26 26 27 enum { size = 128 }; 28 29 static int newLabelPre( char buf[size], const string & suffix ) { 27 Label newLabel( const string & suffix, const Stmt * stmt ) { 30 28 static int current = 0; 31 29 30 assertf( stmt, "CFA internal error: parameter statement cannot be null pointer" ); 31 32 enum { size = 128 }; 33 char buf[size]; // space to build label 32 34 int len = snprintf( buf, size, "__L%d__%s", current++, suffix.c_str() ); 33 35 assertf( len < size, "CFA Internal error: buffer overflow creating label" ); 34 return len;35 }36 37 static Label newLabelPost( char buf[size], const CodeLocation & location ) {38 Label ret_label( location, buf );39 ret_label.attributes.push_back( new Attribute( "unused" ) );40 return ret_label;41 }42 43 Label newLabel( const string & suffix, const Stmt * stmt ) {44 // Buffer for string manipulation.45 char buf[size];46 47 assertf( stmt, "CFA internal error: parameter statement cannot be null pointer" );48 int len = newLabelPre( buf, suffix );49 36 50 37 // What does this do? … … 54 41 } // if 55 42 56 return newLabelPost( buf, stmt->location ); 57 } 58 59 Label newLabel( const string & suffix, const CodeLocation & location ) { 60 // Buffer for string manipulation. 61 char buf[size]; 62 63 newLabelPre( buf, suffix ); 64 return newLabelPost( buf, location ); 43 Label ret_label( stmt->location, buf ); 44 ret_label.attributes.push_back( new Attribute( "unused" ) ); 45 return ret_label; 65 46 } 66 47
Note:
See TracChangeset
for help on using the changeset viewer.