Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Declaration.h

    r42107b4 r3ed994e  
    4545        Declaration( const std::string &name, Type::StorageClasses scs, LinkageSpec::Spec linkage );
    4646        Declaration( const Declaration &other );
     47        virtual ~Declaration();
    4748
    4849        const std::string &get_name() const { return name; }
     
    8384        Expression *asmName;
    8485        std::list< Attribute * > attributes;
     86        bool isDeleted = false;
    8587
    8688        DeclarationWithType( const std::string &name, Type::StorageClasses scs, LinkageSpec::Spec linkage, const std::list< Attribute * > & attributes, Type::FuncSpecifiers fs );
    8789        DeclarationWithType( const DeclarationWithType &other );
    88        
     90        virtual ~DeclarationWithType();
     91
    8992        std::string get_mangleName() const { return mangleName; }
    9093        DeclarationWithType * set_mangleName( std::string newValue ) { mangleName = newValue; return this; }
     
    124127                                const std::list< Attribute * > attributes = std::list< Attribute * >(), Type::FuncSpecifiers fs = Type::FuncSpecifiers() );
    125128        ObjectDecl( const ObjectDecl &other );
     129        virtual ~ObjectDecl();
    126130
    127131        virtual Type * get_type() const override { return type; }
     
    153157                                  const std::list< Attribute * > attributes = std::list< Attribute * >(), Type::FuncSpecifiers fs = Type::FuncSpecifiers() );
    154158        FunctionDecl( const FunctionDecl &other );
     159        virtual ~FunctionDecl();
    155160
    156161        virtual Type * get_type() const override { return type; }
     
    180185        NamedTypeDecl( const std::string &name, Type::StorageClasses scs, Type *type );
    181186        NamedTypeDecl( const NamedTypeDecl &other );
     187        virtual ~NamedTypeDecl();
    182188
    183189        Type *get_base() const { return base; }
     
    214220        TypeDecl( const std::string &name, Type::StorageClasses scs, Type *type, Kind kind, bool sized, Type * init = nullptr );
    215221        TypeDecl( const TypeDecl &other );
     222        virtual ~TypeDecl();
    216223
    217224        Kind get_kind() const { return kind; }
     
    262269        AggregateDecl( const std::string &name, const std::list< Attribute * > & attributes = std::list< class Attribute * >(), LinkageSpec::Spec linkage = LinkageSpec::Cforall );
    263270        AggregateDecl( const AggregateDecl &other );
    264        
     271        virtual ~AggregateDecl();
     272
    265273        std::list<Declaration*>& get_members() { return members; }
    266274        std::list<TypeDecl*>& get_parameters() { return parameters; }
     
    346354        AsmDecl( AsmStmt *stmt );
    347355        AsmDecl( const AsmDecl &other );
     356        virtual ~AsmDecl();
    348357
    349358        AsmStmt *get_stmt() { return stmt; }
     
    364373        StaticAssertDecl( Expression * condition, ConstantExpr * message );
    365374        StaticAssertDecl( const StaticAssertDecl & other );
     375        virtual ~StaticAssertDecl();
    366376
    367377        virtual StaticAssertDecl * clone() const override { return new StaticAssertDecl( *this ); }
Note: See TracChangeset for help on using the changeset viewer.