Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ParseNode.h

    r5f2f2d7 r68cd1ce  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jun  7 22:02:00 2015
    13 // Update Count     : 65
     12// Last Modified On : Sat Jun 13 07:24:22 2015
     13// Update Count     : 79
    1414//
    1515
     
    2222
    2323#include "utility.h"
     24#include "Parser/LinkageSpec.h"
    2425#include "SynTree/Type.h"
    25 #include "SynTree/Declaration.h"
     26//#include "SynTree/Declaration.h"
    2627#include "UniqueName.h"
    2728
     
    265266  public:
    266267        enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute };
    267         enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran };
     268        enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, };
    268269        enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary };
    269         enum Modifier { Signed, Unsigned, Short, Long };
    270         enum TyCon { Struct, Union, Context };
     270        enum Modifier  { Signed, Unsigned, Short, Long };
     271        enum Aggregate { Struct, Union, Context };
    271272        enum TypeClass { Type, Dtype, Ftype };
    272273
     274        static const char *storageName[]; 
    273275        static const char *qualifierName[];
    274276        static const char *basicTypeName[];
    275277        static const char *modifierName[];
    276         static const char *tyConName[];
     278        static const char *aggregateName[];
    277279        static const char *typeClassName[];
    278280
     
    285287        static DeclarationNode *newForall( DeclarationNode *);
    286288        static DeclarationNode *newFromTypedef( std::string *);
    287         static DeclarationNode *newAggregate( TyCon kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );
     289        static DeclarationNode *newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );
    288290        static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants );
    289291        static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant );
     
    344346        ~DeclarationNode();
    345347  private:
    346         Declaration::StorageClass buildStorageClass() const;
     348        StorageClass buildStorageClass() const;
    347349        bool buildInline() const;
    348350
Note: See TracChangeset for help on using the changeset viewer.