[cfe-dev] Entity of static functions
kyrtzidis at apple.com
Mon Jul 20 13:52:43 PDT 2009
On Jul 20, 2009, at 1:11 PM, Ted Kremenek wrote:
> I think Entity is meant to mainly represent concepts that cross
> translation units. When reasoning about the specifics of a
> translation unit (including static functions) we have the ASTs. I
> think the right solution is for CallGraph to represent functions with
> something like an llvm::PointerUnion that acts as a variant type.
Static functions were disallowed to avoid the complexity of having to
encode "translation unit that the decl came from"
so that compare semantics for Entities are correct.
I think a better way is for Entity to be just a wrapper to a
PointerUnion (either pointer to "not crossing" Decl or pointer to an
internal Entity implementation).
That way comparing Entities is correct also for Decls that don't cross
Does it make sense ?
> On Jul 20, 2009, at 1:59 AM, Zhongxing Xu wrote:
>> Current EntityGetter does not create entities for static functions.
>> But CallGraph represents functions with Entities uniquely. Static
>> functions should also appear in the call graph. So could EntityGetter
>> also create entities for static functions. This should not do any
>> to other parts of clang.
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
More information about the cfe-dev