/* Do not mess with variables that are 'static' or (already)
'volatile'. */
if (!TREE_THIS_VOLATILE (decl) && !TREE_STATIC (decl)
- && (TREE_CODE (decl) == VAR_DECL
+ && (VAR_P (decl)
|| TREE_CODE (decl) == PARM_DECL))
{
if (local_variables_to_volatilize == NULL)
static int
objc_is_global_reference_p (tree expr)
{
- return (TREE_CODE (expr) == INDIRECT_REF || TREE_CODE (expr) == PLUS_EXPR
+ return (INDIRECT_REF_P (expr) || TREE_CODE (expr) == PLUS_EXPR
? objc_is_global_reference_p (TREE_OPERAND (expr, 0))
: DECL_P (expr)
? (DECL_FILE_SCOPE_P (expr) || TREE_STATIC (expr))
/* See if we have any lhs casts, and strip them out. NB: The lvalue casts
will have been transformed to the form '*(type *)&expr'. */
- if (TREE_CODE (lhs) == INDIRECT_REF)
+ if (INDIRECT_REF_P (lhs))
{
outer = TREE_OPERAND (lhs, 0);
|| TREE_CODE (outer) == ARRAY_REF))
outer = TREE_OPERAND (outer, 0);
- if (TREE_CODE (outer) == INDIRECT_REF)
+ if (INDIRECT_REF_P (outer))
{
outer = TREE_OPERAND (outer, 0);
indirect_p = 1;
if (TREE_CODE (getter) == TARGET_EXPR)
{
gcc_assert (MAYBE_CLASS_TYPE_P (TREE_TYPE (getter)));
- gcc_assert (TREE_CODE (TREE_OPERAND (getter, 0)) == VAR_DECL);
+ gcc_assert (VAR_P (TREE_OPERAND (getter, 0)));
call_exp = TREE_OPERAND (getter, 1);
}
#endif
static tree
next_runtime_abi_02_receiver_is_class_object (tree receiver)
{
- if (TREE_CODE (receiver) == VAR_DECL
+ if (VAR_P (receiver)
&& IS_CLASS (TREE_TYPE (receiver))
&& vec_safe_length (classrefs))
{
checked. */
bool check_for_nil = flag_objc_nilcheck;
if (super
- || (TREE_CODE (receiver) == VAR_DECL
+ || (VAR_P (receiver)
&& TREE_TYPE (receiver) == objc_class_type))
check_for_nil = false;