Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ParseNode.h

    r8780e30 ra7741435  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Oct  3 18:03:08 2016
    13 // Update Count     : 636
     12// Last Modified On : Tue Dec 13 15:37:33 2016
     13// Update Count     : 643
    1414//
    1515
     
    109109        ExpressionNode * set_extension( bool exten ) { extension = exten; return this; }
    110110
    111         void print( std::ostream &os, int indent = 0 ) const {}
     111        virtual void print( std::ostream &os, int indent = 0 ) const override {}
    112112        void printOneLine( std::ostream &os, int indent = 0 ) const {}
    113113
     
    154154Expression * build_constantFloat( const std::string &str );
    155155Expression * build_constantChar( const std::string &str );
     156Expression * build_constantZeroOne( const std::string &str );
    156157ConstantExpr * build_constantStr( const std::string &str );
    157158Expression * build_field_name_FLOATINGconstant( const std::string & str );
     
    191192//##############################################################################
    192193
    193 class TypeData;
     194struct TypeData;
    194195
    195196class DeclarationNode : public ParseNode {
     
    204205        enum Aggregate { Struct, Union, Trait, NoAggregate };
    205206        enum TypeClass { Otype, Dtype, Ftype, NoTypeClass };
    206         enum BuiltinType { Valist };
     207        enum BuiltinType { Valist, Zero, One, NoBuiltinType };
    207208
    208209        static const char * storageName[];
     
    256257        DeclarationNode * addAssertions( DeclarationNode * );
    257258        DeclarationNode * addName( std::string * );
     259        DeclarationNode * addAsmName( ConstantExpr * );
    258260        DeclarationNode * addBitfield( ExpressionNode * size );
    259261        DeclarationNode * addVarArgs();
     
    275277        }
    276278
    277         void print( std::ostream &os, int indent = 0 ) const;
    278         void printList( std::ostream &os, int indent = 0 ) const;
     279        virtual void print( std::ostream &os, int indent = 0 ) const override;
     280        virtual void printList( std::ostream &os, int indent = 0 ) const override;
    279281
    280282        Declaration * build() const;
     
    308310        TypeData * type;
    309311        StorageClass storageClass;
     312        ExpressionNode * bitfieldWidth;
    310313        bool isInline, isNoreturn;
    311         std::list< std::string > attributes;
    312         ExpressionNode * bitfieldWidth;
    313314        std::unique_ptr<ExpressionNode> enumeratorValue;
    314         InitializerNode * initializer;
    315315        bool hasEllipsis;
    316316        LinkageSpec::Spec linkage;
     317        ConstantExpr *asmName;
     318        std::list< std::string > attributes;
     319        InitializerNode * initializer;
    317320        bool extension = false;
    318321        std::string error;
     
    349352        virtual StatementNode * append_last_case( StatementNode * );
    350353
    351         virtual void print( std::ostream &os, int indent = 0 ) {}
    352         virtual void printList( std::ostream &os, int indent = 0 ) {}
     354        virtual void print( std::ostream &os, int indent = 0 ) const override {}
     355        virtual void printList( std::ostream &os, int indent = 0 ) const override {}
    353356  private:
    354357        std::unique_ptr<Statement> stmt;
Note: See TracChangeset for help on using the changeset viewer.