diff options
author | Richard Stallman <rms@gnu.org> | 1992-03-06 03:15:07 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-03-06 03:15:07 +0000 |
commit | b8093d021225d5b4d492c34c2c5442868e4767ca (patch) | |
tree | 8fe5d248359746cfeecea0857acce2c2f64ec1e6 /gcc | |
parent | ce1be81dfff0a08f139d85d4f8e268320b7139e4 (diff) | |
download | gcc-b8093d021225d5b4d492c34c2c5442868e4767ca.zip gcc-b8093d021225d5b4d492c34c2c5442868e4767ca.tar.gz gcc-b8093d021225d5b4d492c34c2c5442868e4767ca.tar.bz2 |
*** empty log message ***
From-SVN: r399
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/objc/objc-act.c | 29 | ||||
-rw-r--r-- | gcc/reload1.c | 2 |
2 files changed, 16 insertions, 15 deletions
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 4864592..3e525cf 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -2603,24 +2603,25 @@ receiver_is_class_object (receiver) * ...check if it is a call to objc_getClass, if so, give it * 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)) && - (TREE_CODE (exp) == FUNCTION_DECL) && exp == objc_getClass_decl) + exp = TREE_OPERAND (exp, 0); + if (exp != 0 + && TREE_CODE (exp) == FUNCTION_DECL && exp == objc_getClass_decl) { /* we have a call to objc_getClass! */ - tree arg = 0; - - if ((arg = TREE_OPERAND (receiver, 1)) && - (TREE_CODE (arg) == TREE_LIST) && - (arg = TREE_VALUE (arg)) && - (TREE_CODE (arg) == NOP_EXPR) && - (arg = TREE_OPERAND (arg, 0)) && - (TREE_CODE (arg) == ADDR_EXPR) && - (arg = TREE_OPERAND (arg, 0)) && - (TREE_CODE (arg) == STRING_CST)) + tree arg = TREE_OPERAND (receiver, 1); + + if (arg != 0 + && TREE_CODE (arg) == TREE_LIST + && arg = TREE_VALUE (arg) + && TREE_CODE (arg) == NOP_EXPR + && arg = TREE_OPERAND (arg, 0) + && TREE_CODE (arg) == ADDR_EXPR + && arg = TREE_OPERAND (arg, 0) + && TREE_CODE (arg) == STRING_CST) /* finally, we have the class name */ return get_identifier (TREE_STRING_POINTER (arg)); } diff --git a/gcc/reload1.c b/gcc/reload1.c index 0ecb2fe..6daca82 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -702,7 +702,7 @@ reload (first, global, dumpfile) if (reg_renumber[i] == -1 && reg_n_refs[i] != 0) break; - if (i == max_regno && num_eliminable = 0 && ! caller_save_needed) + if (i == max_regno && num_eliminable == 0 && ! caller_save_needed) return; #endif |