[Issue 18616] New: attrib.h:31:7: warning: 'AttribDeclaration' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Mar 15 06:00:41 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=18616
Issue ID: 18616
Summary: attrib.h:31:7: warning: 'AttribDeclaration' has
virtual functions but non-virtual destructor
[-Wnon-virtual-dtor]
Product: D
Version: D2
Hardware: x86
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: timothee.cour2 at gmail.com
when compiling calypso (but dmd has same issue) i get:
../ddmd/attrib.h:31:7: warning: 'AttribDeclaration' has virtual functions but
non-virtual destructor [-Wnon-virtual-dtor]
indeed this is what's in src/dmd/attrib.h: it shows virtual functions but
non-virtual destructor;
* won't that result in memory leaks?
* should we add `-Wnon-virtual-dtor` to detect these?
* this type of error occurs in lots of places
```
class AttribDeclaration : public Dsymbol
{
public:
Dsymbols *decl; // array of Dsymbol's
virtual Dsymbols *include(Scope *sc);
int apply(Dsymbol_apply_ft_t fp, void *param);
static Scope *createNewScope(Scope *sc,
StorageClass newstc, LINK linkage, CPPMANGLE cppmangle, Prot
protection,
int explicitProtection, AlignDeclaration *aligndecl, PINLINE inlining);
virtual Scope *newScope(Scope *sc);
void addMember(Scope *sc, ScopeDsymbol *sds);
void setScope(Scope *sc);
void importAll(Scope *sc);
void addComment(const utf8_t *comment);
const char *kind() const;
bool oneMember(Dsymbol **ps, Identifier *ident);
void setFieldOffset(AggregateDeclaration *ad, unsigned *poffset, bool
isunion);
bool hasPointers();
bool hasStaticCtorOrDtor();
void checkCtorConstInit();
void addLocalClass(ClassDeclarations *);
AttribDeclaration *isAttribDeclaration() { return this; }
void accept(Visitor *v) { v->visit(this); }
};
```
--
More information about the Digitalmars-d-bugs
mailing list