Changes in src/AST/LinkageSpec.cpp [14cebb7a:2bb4a01]
- File:
-
- 1 edited
-
src/AST/LinkageSpec.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/LinkageSpec.cpp
r14cebb7a r2bb4a01 24 24 25 25 namespace ast { 26 namespace Linkage { 27 Spec update( CodeLocation loc, Spec spec, const std::string * cmd ) { 28 assert( cmd ); 29 std::unique_ptr<const std::string> guard( cmd ); // allocated by lexer 30 if ( *cmd == "\"Cforall\"" ) { 31 spec.is_mangled = true; 32 return spec; 33 } else if ( *cmd == "\"C\"" ) { 34 spec.is_mangled = false; 35 return spec; 36 } else { 37 SemanticError( loc, "Invalid linkage specifier " + *cmd ); 38 } 39 } 40 26 41 27 namespace Linkage { 42 std::string name( Spec spec ) { 43 switch ( spec ) { 44 case Intrinsic: return "intrinsic"; 45 case C: return "C"; 46 case Cforall: return "Cforall"; 47 case AutoGen: return "autogenerated cfa"; 48 case Compiler: return "compiler built-in"; 49 case BuiltinCFA: return "cfa built-in"; 50 case BuiltinC: return "c built-in"; 51 default: return "<unnamed linkage spec>"; 52 } 53 } 28 54 29 Spec update( CodeLocation loc, Spec spec, const std::string * cmd ) {30 assert( cmd );31 std::unique_ptr<const std::string> guard( cmd ); // allocated by lexer32 if ( *cmd == "\"Cforall\"" ) {33 spec.is_mangled = true;34 return spec;35 } else if ( *cmd == "\"C\"" ) {36 spec.is_mangled = false;37 return spec;38 } else {39 SemanticError( loc, "Invalid linkage specifier " + *cmd );40 }41 55 } 42 43 44 std::string name( Spec spec ) {45 switch ( spec ) {46 case Intrinsic: return "intrinsic";47 case C: return "C";48 case Cforall: return "Cforall";49 case AutoGen: return "autogenerated cfa";50 case Compiler: return "compiler built-in";51 case BuiltinCFA: return "cfa built-in";52 case BuiltinC: return "c built-in";53 default: return "<unnamed linkage spec>";54 }55 }56 57 }58 59 56 } 60 57
Note:
See TracChangeset
for help on using the changeset viewer.