Commit b8093d02 by Richard Stallman

*** empty log message ***

From-SVN: r399
parent ce1be81d
...@@ -2603,24 +2603,25 @@ receiver_is_class_object (receiver) ...@@ -2603,24 +2603,25 @@ receiver_is_class_object (receiver)
* ...check if it is a call to objc_getClass, if so, give it * ...check if it is a call to objc_getClass, if so, give it
* special treatment. * special treatment.
*/ */
tree exp = 0; tree exp = TREE_OPERAND (receiver, 0);
if ((exp = TREE_OPERAND (receiver, 0)) && (TREE_CODE (exp) == ADDR_EXPR)) if (exp != 0 && (TREE_CODE (exp) == ADDR_EXPR))
{ {
if ((exp = TREE_OPERAND (exp, 0)) && exp = TREE_OPERAND (exp, 0);
(TREE_CODE (exp) == FUNCTION_DECL) && exp == objc_getClass_decl) if (exp != 0
&& TREE_CODE (exp) == FUNCTION_DECL && exp == objc_getClass_decl)
{ {
/* we have a call to objc_getClass! */ /* we have a call to objc_getClass! */
tree arg = 0; tree arg = TREE_OPERAND (receiver, 1);
if ((arg = TREE_OPERAND (receiver, 1)) && if (arg != 0
(TREE_CODE (arg) == TREE_LIST) && && TREE_CODE (arg) == TREE_LIST
(arg = TREE_VALUE (arg)) && && arg = TREE_VALUE (arg)
(TREE_CODE (arg) == NOP_EXPR) && && TREE_CODE (arg) == NOP_EXPR
(arg = TREE_OPERAND (arg, 0)) && && arg = TREE_OPERAND (arg, 0)
(TREE_CODE (arg) == ADDR_EXPR) && && TREE_CODE (arg) == ADDR_EXPR
(arg = TREE_OPERAND (arg, 0)) && && arg = TREE_OPERAND (arg, 0)
(TREE_CODE (arg) == STRING_CST)) && TREE_CODE (arg) == STRING_CST)
/* finally, we have the class name */ /* finally, we have the class name */
return get_identifier (TREE_STRING_POINTER (arg)); return get_identifier (TREE_STRING_POINTER (arg));
} }
......
...@@ -702,7 +702,7 @@ reload (first, global, dumpfile) ...@@ -702,7 +702,7 @@ reload (first, global, dumpfile)
if (reg_renumber[i] == -1 && reg_n_refs[i] != 0) if (reg_renumber[i] == -1 && reg_n_refs[i] != 0)
break; break;
if (i == max_regno && num_eliminable = 0 && ! caller_save_needed) if (i == max_regno && num_eliminable == 0 && ! caller_save_needed)
return; return;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment