Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Declaration.h

    rdd020c0 r3a5131ed  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Mar  3 20:59:27 2017
    13 // Update Count     : 96
     12// Last Modified On : Thu Feb 16 14:53:35 2017
     13// Update Count     : 57
    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; }
    4044        UniqueId get_uniqueId() const { return uniqueId; }
    4145        bool get_extension() const { return extension; }
     
    5559        DeclarationNode::StorageClass storageClass;
    5660        LinkageSpec::Spec linkage;
     61        bool isInline, isNoreturn;
    5762        UniqueId uniqueId;
    5863        bool extension = false;
     
    6166class DeclarationWithType : public Declaration {
    6267  public:
    63         DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec() );
     68        DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes );
    6469        DeclarationWithType( const DeclarationWithType &other );
    6570        virtual ~DeclarationWithType();
     
    7883        std::list< Attribute * >& get_attributes() { return attributes; }
    7984        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; }
    8385
    8486        virtual DeclarationWithType *clone() const = 0;
     
    9597        ConstantExpr *asmName;
    9698        std::list< Attribute * > attributes;
    97         DeclarationNode::FuncSpec fs;
    9899};
    99100
     
    101102        typedef DeclarationWithType Parent;
    102103  public:
    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() );
     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 );
    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,
    132                                   const std::list< Attribute * > attributes = std::list< Attribute * >(), DeclarationNode::FuncSpec fs = DeclarationNode::FuncSpec() );
     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 * >() );
    133132        FunctionDecl( const FunctionDecl &other );
    134133        virtual ~FunctionDecl();
Note: See TracChangeset for help on using the changeset viewer.