Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Declaration.h

    r3a5131ed rdd020c0  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 16 14:53:35 2017
    13 // Update Count     : 57
     12// Last Modified On : Fri Mar  3 20:59:27 2017
     13// Update Count     : 96
    1414//
    1515
     
    3838        LinkageSpec::Spec get_linkage() const { return linkage; }
    3939        void set_linkage( LinkageSpec::Spec newValue ) { linkage = newValue; }
    40         bool get_isInline() const { return isInline; }
    41         void set_isInline( bool newValue ) { isInline = newValue; }
    42         bool get_isNoreturn() const { return isNoreturn; }
    43         void set_isNoreturn( bool newValue ) { isNoreturn = newValue; }
    4440        UniqueId get_uniqueId() const { return uniqueId; }
    4541        bool get_extension() const { return extension; }
     
    5955        DeclarationNode::StorageClass storageClass;
    6056        LinkageSpec::Spec linkage;
    61         bool isInline, isNoreturn;
    6257        UniqueId uniqueId;
    6358        bool extension = false;
     
    6661class DeclarationWithType : public Declaration {
    6762  public:
    68         DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes );
     63        DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec() );
    6964        DeclarationWithType( const DeclarationWithType &other );
    7065        virtual ~DeclarationWithType();
     
    8378        std::list< Attribute * >& get_attributes() { return attributes; }
    8479        const std::list< Attribute * >& get_attributes() const { return attributes; }
     80
     81        DeclarationNode::FuncSpec get_funcSpec() const { return fs; }
     82        void set_functionSpecifiers( DeclarationNode::FuncSpec newValue ) { fs = newValue; }
    8583
    8684        virtual DeclarationWithType *clone() const = 0;
     
    9795        ConstantExpr *asmName;
    9896        std::list< Attribute * > attributes;
     97        DeclarationNode::FuncSpec fs;
    9998};
    10099
     
    102101        typedef DeclarationWithType Parent;
    103102  public:
    104         ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init, const std::list< Attribute * > attributes = std::list< Attribute * >(), bool isInline = false, bool isNoreturn = false );
     103        ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, Expression *bitfieldWidth, Type *type, Initializer *init,
     104                                const std::list< Attribute * > attributes = std::list< Attribute * >(), DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec() );
    105105        ObjectDecl( const ObjectDecl &other );
    106106        virtual ~ObjectDecl();
     
    129129        typedef DeclarationWithType Parent;
    130130  public:
    131         FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn, const std::list< Attribute * > attributes = std::list< Attribute * >() );
     131        FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, FunctionType *type, CompoundStmt *statements,
     132                                  const std::list< Attribute * > attributes = std::list< Attribute * >(), DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec() );
    132133        FunctionDecl( const FunctionDecl &other );
    133134        virtual ~FunctionDecl();
Note: See TracChangeset for help on using the changeset viewer.