[cfe-dev] Implicitly defined special member functions

Douglas Gregor dgregor at apple.com
Fri Sep 17 11:46:55 PDT 2010


On Sep 17, 2010, at 4:55 AM, Martin Vejnár wrote:

> Hi,
> 
> I'm trying to use clang as a front end to a static analysis tool (Stanse,
> http://stanse.fi.muni.cz/). For that purpose, I'd like to get special
> member functions defined even if they are not used. Can I somehow achieve
> that? (Note that I'm consuming the AST in HandleTranslationUnit of my
> custom ASTConsumer.)

You'll need to ask the Sema object for the constructors, destructors, and assignment operator, so that it will generate them.

> Furthermore, it seems that fn->isThisDeclarationADefinition() returns
> false for default constructors and destructors even when the function is
> used (and therefore implicitly defined). Is that correct? Shouldn't these
> functions receive an empty CompoundStatement as their bodies?


Yes, that would make sense. Care to submit a patch?

	- Doug



More information about the cfe-dev mailing list