Changes in src/Parser/ParseNode.h [dd020c0:6a0d4d61]
- File:
-
- 1 edited
-
src/Parser/ParseNode.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
rdd020c0 r6a0d4d61 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 3 21:34:27201713 // Update Count : 70412 // Last Modified On : Thu Feb 23 15:22:10 2017 13 // Update Count : 662 14 14 // 15 15 … … 19 19 #include <string> 20 20 #include <list> 21 #include <bitset>22 21 #include <iterator> 23 22 #include <memory> … … 204 203 // These must remain in the same order as the corresponding DeclarationNode names. 205 204 206 enum StorageClass { Extern, Static, Auto, Register, Threadlocal, NoStorageClass }; 207 enum FuncSpecifier { Inline, Noreturn, Fortran, NoFuncSpecifier, 208 InlineSpec = 1 << Inline, NoreturnSpec = 1 << Noreturn, FortranSpec = 1 << Fortran }; 209 enum TypeQualifier { Const, Restrict, Volatile, Lvalue, Atomic, NoTypeQualifier }; 205 // enum StorageClass { Extern, Static, Auto, Register, NoStorageClass }; 206 // enum FunctionSpec { Inline, Fortran, Noreturn, NoFunctionSpec }; 207 // enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Threadlocal, Mutex, NoQualifier }; 208 209 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, }; 210 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, NoQualifier }; 210 211 enum BasicType { Void, Bool, Char, Int, Float, Double, LongDouble, NoBasicType }; 211 212 enum ComplexType { Complex, Imaginary, NoComplexType }; … … 216 217 enum BuiltinType { Valist, Zero, One, NoBuiltinType }; 217 218 218 static const char * storageClassNames[]; 219 static const char * funcSpecifierNames[]; 220 static const char * typeQualifierNames[]; 221 static const char * basicTypeNames[]; 222 static const char * complexTypeNames[]; 223 static const char * signednessNames[]; 224 static const char * lengthNames[]; 225 static const char * aggregateNames[]; 226 static const char * typeClassNames[]; 227 static const char * builtinTypeNames[]; 228 219 static const char * storageName[]; 220 static const char * qualifierName[]; 221 static const char * basicTypeName[]; 222 static const char * complexTypeName[]; 223 static const char * signednessName[]; 224 static const char * lengthName[]; 225 static const char * aggregateName[]; 226 static const char * typeClassName[]; 227 static const char * builtinTypeName[]; 228 229 static DeclarationNode * newFunction( std::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body, bool newStyle = false ); 230 static DeclarationNode * newQualifier( Qualifier ); 231 static DeclarationNode * newForall( DeclarationNode * ); 229 232 static DeclarationNode * newStorageClass( StorageClass ); 230 static DeclarationNode * newFuncSpecifier( FuncSpecifier );231 static DeclarationNode * newTypeQualifier( TypeQualifier );232 233 static DeclarationNode * newBasicType( BasicType ); 233 234 static DeclarationNode * newComplexType( ComplexType ); 234 static DeclarationNode * newSignedNess( Signedness );235 static DeclarationNode * newLength( Length );235 static DeclarationNode * newSignedNess( Signedness sn ); 236 static DeclarationNode * newLength( Length lnth ); 236 237 static DeclarationNode * newBuiltinType( BuiltinType ); 237 static DeclarationNode * newForall( DeclarationNode * );238 238 static DeclarationNode * newFromTypedef( std::string * ); 239 static DeclarationNode * newFunction( std::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body, bool newStyle = false );240 239 static DeclarationNode * newAggregate( Aggregate kind, const std::string * name, ExpressionNode * actuals, DeclarationNode * fields, bool body ); 241 240 static DeclarationNode * newEnum( std::string * name, DeclarationNode * constants, bool body ); … … 325 324 TypeData * type; 326 325 StorageClass storageClass; 327 328 typedef std::bitset< DeclarationNode::NoFuncSpecifier > FuncSpec;329 FuncSpec funcSpec;330 static void print_FuncSpec( std::ostream & output, FuncSpec funcSpec );331 332 326 ExpressionNode * bitfieldWidth; 327 bool isInline, isNoreturn; 333 328 std::unique_ptr<ExpressionNode> enumeratorValue; 334 329 bool hasEllipsis;
Note:
See TracChangeset
for help on using the changeset viewer.