On Mar 22, 2005, at 10:21 AM, Kazu Hirata wrote:
Hi Dale,
After all, all we need in get_callee_fndecl seems to be
addr = TREE_OPERAND (call_expr, 0);
return ((TREE_CODE (addr) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (addr, 0)) == FUNCTION_DECL)
? TREE_OPERAND (addr, 0) : NULL_TREE;
Thoughts?
In Objective C (and ObjC++) it's also a good idea to look under
OBJ_TYPE_REF.
See this patch, which was deferred to 4.1 and I'm going to resubmit
RSN:
http://gcc.gnu.org/ml/gcc-patches/2004-12/txt00122.txt
Thanks for the information. Does OBJ_TYPE_REF_EXPR only apply to a
CALL_EXPR? In other words, are there other forms of constants that
are exposed by looking into OBJ_TYPE_REF_EXPR?
I believe the usage here is the only one relevant to ObjC.
It is used for other things in C++, but I don't know how.