Changeset 3b8e52c for src/Parser
- Timestamp:
- Aug 17, 2016, 11:09:11 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 1cb2282, 7a5d773
- Parents:
- 926af74
- Location:
- src/Parser
- Files:
-
- 5 edited
-
DeclarationNode.cc (modified) (2 diffs)
-
LinkageSpec.cc (modified) (3 diffs)
-
LinkageSpec.h (modified) (2 diffs)
-
parser.cc (modified) (1 diff)
-
parser.yy (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/DeclarationNode.cc
r926af74 r3b8e52c 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Aug 16 18:00:34201613 // Update Count : 1 7912 // Last Modified On : Wed Aug 17 11:08:56 2016 13 // Update Count : 180 14 14 // 15 15 … … 780 780 781 781 DeclarationNode *DeclarationNode::appendList( DeclarationNode *node ) { 782 if ( node != 0 ) { 783 set_last( node ); 784 } // if 785 return this; 782 return (DeclarationNode *)set_last( node ); 786 783 } 787 784 -
src/Parser/LinkageSpec.cc
r926af74 r3b8e52c 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:22:09 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed Aug 1 9 15:53:05 201513 // Update Count : 511 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 23:02:37 2016 13 // Update Count : 11 14 14 // 15 15 … … 31 31 32 32 std::string LinkageSpec::toString( LinkageSpec::Type linkage ) { 33 switch ( linkage ) { 34 case Intrinsic: 35 return "intrinsic"; 36 case Cforall: 37 return "Cforall"; 38 case C: 39 return "C"; 40 case AutoGen: 41 return "automatically generated"; 42 case Compiler: 43 return "compiler built-in"; 44 } 45 assert( false ); 46 return ""; 33 static const char *linkageKinds[LinkageSpec::NoOfTypes] = { 34 "intrinsic", "Cforall", "C", "automatically generated", "compiler built-in", 35 }; 36 return linkageKinds[linkage]; 47 37 } 48 38 49 39 bool LinkageSpec::isDecoratable( Type t ) { 50 switch ( t ) { 51 case Intrinsic: 52 case Cforall: 53 case AutoGen: 54 return true; 55 case C: 56 case Compiler: 57 return false; 58 } 59 assert( false ); 60 return false; 40 static bool decoratable[LinkageSpec::NoOfTypes] = { 41 // Intrinsic, Cforall, C, AutoGen, Compiler 42 true, true, false, true, false, 43 }; 44 return decoratable[ t ]; 61 45 } 62 46 63 47 bool LinkageSpec::isGeneratable( Type t ) { 64 switch ( t ) { 65 case Intrinsic: 66 case Cforall: 67 case AutoGen: 68 case C: 69 return true; 70 case Compiler: 71 return false; 72 } 73 assert( false ); 74 return false; 48 static bool generatable[LinkageSpec::NoOfTypes] = { 49 // Intrinsic, Cforall, C, AutoGen, Compiler 50 true, true, true, true, false, 51 }; 52 return generatable[ t ]; 75 53 } 76 54 … … 81 59 82 60 bool LinkageSpec::isOverridable( Type t ) { 83 switch ( t ) { 84 case Intrinsic: 85 case AutoGen: 86 return true; 87 case Cforall: 88 case C: 89 case Compiler: 90 return false; 91 } 92 assert( false ); 93 return false; 61 static bool overridable[LinkageSpec::NoOfTypes] = { 62 // Intrinsic, Cforall, C, AutoGen, Compiler 63 true, false, false, true, false, 64 }; 65 return overridable[ t ]; 94 66 } 95 67 96 68 bool LinkageSpec::isBuiltin( Type t ) { 97 switch ( t ) { 98 case Cforall: 99 case AutoGen: 100 case C: 101 return false; 102 case Intrinsic: 103 case Compiler: 104 return true; 105 } 106 assert( false ); 107 return false; 69 static bool builtin[LinkageSpec::NoOfTypes] = { 70 // Intrinsic, Cforall, C, AutoGen, Compiler 71 true, false, false, false, true, 72 }; 73 return builtin[ t ]; 108 74 } 109 75 -
src/Parser/LinkageSpec.h
r926af74 r3b8e52c 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:24:28 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Tue Aug 18 14:11:55 201513 // Update Count : 511 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 22:19:48 2016 13 // Update Count : 6 14 14 // 15 15 … … 25 25 C, // not overloadable, not mangled 26 26 AutoGen, // built by translator (struct assignment) 27 Compiler // gcc internal 27 Compiler, // gcc internal 28 NoOfTypes 28 29 }; 29 30 -
src/Parser/parser.cc
r926af74 r3b8e52c 7801 7801 #line 1993 "parser.yy" 7802 7802 { 7803 linkageStack.push( linkage ); 7803 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 7804 7804 linkage = LinkageSpec::fromString( *(yyvsp[(2) - (2)].tok) ); 7805 7805 } -
src/Parser/parser.yy
r926af74 r3b8e52c 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Aug 16 21:59:35201613 // Update Count : 190 712 // Last Modified On : Wed Aug 17 11:18:40 2016 13 // Update Count : 1908 14 14 // 15 15 … … 1992 1992 | EXTERN STRINGliteral 1993 1993 { 1994 linkageStack.push( linkage ); 1994 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 1995 1995 linkage = LinkageSpec::fromString( *$2 ); 1996 1996 }
Note:
See TracChangeset
for help on using the changeset viewer.