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