Changes in src/Parser/LinkageSpec.cc [f2a4f6c:faddbd8]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/LinkageSpec.cc
rf2a4f6c rfaddbd8 10 10 // Created On : Sat May 16 13:22:09 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Aug 21 12:32:53201613 // Update Count : 1712 // Last Modified On : Sun Oct 2 23:16:21 2016 13 // Update Count : 23 14 14 // 15 15 … … 17 17 #include <string> 18 18 #include <cassert> 19 using namespace std; 19 20 20 21 #include "LinkageSpec.h" 21 22 #include "Common/SemanticError.h" 22 23 23 LinkageSpec::Spec LinkageSpec:: fromString( const std::string &spec ) {24 std::unique_ptr<const std::string> guard(&spec);// allocated by lexer25 if ( spec == "\"Cforall\"" ) {24 LinkageSpec::Spec LinkageSpec::linkageCheck( const string * spec ) { 25 unique_ptr<const string> guard( spec ); // allocated by lexer 26 if ( *spec == "\"Cforall\"" ) { 26 27 return Cforall; 27 } else if ( spec == "\"C\"" ) {28 } else if ( *spec == "\"C\"" ) { 28 29 return C; 29 30 } else { 30 throw SemanticError( "Invalid linkage specifier " + spec );31 throw SemanticError( "Invalid linkage specifier " + *spec ); 31 32 } // if 32 33 } 33 34 34 st d::string LinkageSpec::toString( LinkageSpec::Spec linkage ) {35 assert( linkage >= 0&& linkage < LinkageSpec::NoOfSpecs );35 string LinkageSpec::linkageName( LinkageSpec::Spec linkage ) { 36 assert( 0 <= linkage && linkage < LinkageSpec::NoOfSpecs ); 36 37 static const char *linkageKinds[LinkageSpec::NoOfSpecs] = { 37 38 "intrinsic", "Cforall", "C", "automatically generated", "compiler built-in", … … 41 42 42 43 bool LinkageSpec::isDecoratable( Spec spec ) { 43 assert( spec >= 0&& spec < LinkageSpec::NoOfSpecs );44 assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs ); 44 45 static bool decoratable[LinkageSpec::NoOfSpecs] = { 45 46 // Intrinsic, Cforall, C, AutoGen, Compiler … … 50 51 51 52 bool LinkageSpec::isGeneratable( Spec spec ) { 52 assert( spec >= 0&& spec < LinkageSpec::NoOfSpecs );53 assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs ); 53 54 static bool generatable[LinkageSpec::NoOfSpecs] = { 54 55 // Intrinsic, Cforall, C, AutoGen, Compiler
Note: See TracChangeset
for help on using the changeset viewer.