[cfe-dev] [Patch] Make ParseAST() take ASTContext and TU params

Sebastian Redl sebastian.redl at getdesigned.at
Sat Jan 24 08:19:35 PST 2009


Alexei Svitkine wrote:
> Hi,
>
> Attached is a patch to make ParseAST() take ASTContext and
> TranslationUnit as parameters, as suggested by Steve Naroff.
>   

The double negative in the code confuses me somewhat, but isn't this
condition the wrong way round?

> +    if (!DisableFree) {
> +      Context = new ASTContext(PP.getLangOptions(),
> PP.getSourceManager(),
> +                               PP.getTargetInfo(),
> +                               PP.getIdentifierTable(),
> PP.getSelectorTable());
> +      TU = new TranslationUnit(*Context);
> +    }
> +    ParseAST(PP, Consumer.get(), Context, TU, Stats);

Previously, if DisableFree was true, FreeMemory was false, and ParseAST
didn't free the objects.
Now, if DisableFree is true, the driver doesn't allocate objects, so
ParseAST does and will free them.

Sebastian



More information about the cfe-dev mailing list