diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/lang.c | 54 | ||||
-rw-r--r-- | gcc/langhooks-def.h | 2 | ||||
-rw-r--r-- | gcc/langhooks.h | 3 | ||||
-rw-r--r-- | gcc/objc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 21 | ||||
-rw-r--r-- | gcc/objc/objc-act.h | 1 | ||||
-rw-r--r-- | gcc/objc/objc-lang.c | 2 | ||||
-rw-r--r-- | gcc/objcp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/objcp/objcp-lang.c | 2 | ||||
-rw-r--r-- | gcc/tree.c | 5 |
12 files changed, 26 insertions, 88 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 67c3c80..468c604 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com> + + * tree.c (get_callee_fndecl): Don't call the language hook. + * langhooks.h (lang_hooks): Remove lang_get_callee_fndecl. + * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): Kill. + (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_GET_CALLEE_FNDECL. + 2008-09-17 Jakub Jelinek <jakub@redhat.com> * tree.c (protected_set_expr_location): Don't unnecessarily diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index c5a9ecf..e7b6263 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com> + + * lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define. + (java_get_callee_fndecl): Kill. + 2008-09-17 Jan Hubicka <jh@suse.cz> PR c++/18071 diff --git a/gcc/java/lang.c b/gcc/java/lang.c index af2ed80..2a962c0 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -61,7 +61,6 @@ static int inline_init_test_initialization (void * *, void *); static bool java_dump_tree (void *, tree); static void dump_compound_expr (dump_info_p, tree); static bool java_decl_ok_for_sibcall (const_tree); -static tree java_get_callee_fndecl (const_tree); static enum classify_record java_classify_record (tree type); @@ -156,9 +155,6 @@ struct language_function GTY(()) #undef LANG_HOOKS_DECL_OK_FOR_SIBCALL #define LANG_HOOKS_DECL_OK_FOR_SIBCALL java_decl_ok_for_sibcall -#undef LANG_HOOKS_GET_CALLEE_FNDECL -#define LANG_HOOKS_GET_CALLEE_FNDECL java_get_callee_fndecl - #undef LANG_HOOKS_SET_DECL_ASSEMBLER_NAME #define LANG_HOOKS_SET_DECL_ASSEMBLER_NAME java_mangle_decl @@ -848,56 +844,6 @@ java_decl_ok_for_sibcall (const_tree decl) && !DECL_UNINLINABLE (decl)); } -/* Given a call_expr, try to figure out what its target might be. In - the case of an indirection via the atable, search for the decl. If - the decl is external, we return NULL. If we don't, the optimizer - will replace the indirection with a direct call, which undoes the - purpose of the atable indirection. */ -static tree -java_get_callee_fndecl (const_tree call_expr) -{ - tree method, table, element, atable_methods; - - HOST_WIDE_INT index; - - /* FIXME: This is disabled because we end up passing calls through - the PLT, and we do NOT want to do that. */ - return NULL; - - if (TREE_CODE (call_expr) != CALL_EXPR) - return NULL; - method = CALL_EXPR_FN (call_expr); - STRIP_NOPS (method); - if (TREE_CODE (method) != ARRAY_REF) - return NULL; - table = TREE_OPERAND (method, 0); - if (! DECL_LANG_SPECIFIC(table) - || !DECL_OWNER (table) - || TYPE_ATABLE_DECL (DECL_OWNER (table)) != table) - return NULL; - - atable_methods = TYPE_ATABLE_METHODS (DECL_OWNER (table)); - index = TREE_INT_CST_LOW (TREE_OPERAND (method, 1)); - - /* FIXME: Replace this for loop with a hash table lookup. */ - for (element = atable_methods; element; element = TREE_CHAIN (element)) - { - if (index == 1) - { - tree purpose = TREE_PURPOSE (element); - if (TREE_CODE (purpose) == FUNCTION_DECL - && ! DECL_EXTERNAL (purpose)) - return purpose; - else - return NULL; - } - --index; - } - - return NULL; -} - - static enum classify_record java_classify_record (tree type) { diff --git a/gcc/langhooks-def.h b/gcc/langhooks-def.h index 37b5905..996e2f2 100644 --- a/gcc/langhooks-def.h +++ b/gcc/langhooks-def.h @@ -105,7 +105,6 @@ extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *, #define LANG_HOOKS_PRINT_ERROR_FUNCTION lhd_print_error_function #define LANG_HOOKS_DECL_PRINTABLE_NAME lhd_decl_printable_name #define LANG_HOOKS_DWARF_NAME lhd_dwarf_name -#define LANG_HOOKS_GET_CALLEE_FNDECL lhd_return_null_const_tree #define LANG_HOOKS_EXPR_SIZE lhd_expr_size #define LANG_HOOKS_TREE_SIZE lhd_tree_size #define LANG_HOOKS_TYPES_COMPATIBLE_P lhd_types_compatible_p @@ -255,7 +254,6 @@ extern tree lhd_make_node (enum tree_code); LANG_HOOKS_DECL_PRINTABLE_NAME, \ LANG_HOOKS_DWARF_NAME, \ LANG_HOOKS_TYPES_COMPATIBLE_P, \ - LANG_HOOKS_GET_CALLEE_FNDECL, \ LANG_HOOKS_PRINT_ERROR_FUNCTION, \ LANG_HOOKS_EXPR_SIZE, \ LANG_HOOKS_TO_TARGET_CHARSET, \ diff --git a/gcc/langhooks.h b/gcc/langhooks.h index 2d62f99..752ad99 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -354,9 +354,6 @@ struct lang_hooks in contexts where erroneously returning 0 causes problems. */ int (*types_compatible_p) (tree x, tree y); - /* Given a CALL_EXPR, return a function decl that is its target. */ - tree (*lang_get_callee_fndecl) (const_tree); - /* Called by report_error_function to print out function name. */ void (*print_error_function) (struct diagnostic_context *, const char *, struct diagnostic_info *); diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 1457f7f..039ad3b1 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,10 @@ +2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR objc/37460 + * objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define. + * objc-act.h (objc_get_callee_fndecl): Remove prototype. + * objc-act.c (objc_get_callee_fndecl): Kill. + 2008-09-17 Jan Hubicka <jh@suse.cz> PR c++/18071 diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 1fd52f0..837f3cf 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -9510,25 +9510,4 @@ objc_gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p) #endif } -/* Given a CALL expression, find the function being called. The ObjC - version looks for the OBJ_TYPE_REF_EXPR which is used for objc_msgSend. */ - -tree -objc_get_callee_fndecl (const_tree call_expr) -{ - tree addr = CALL_EXPR_FN (call_expr); - if (TREE_CODE (addr) != OBJ_TYPE_REF) - return 0; - - addr = OBJ_TYPE_REF_EXPR (addr); - - /* If the address is just `&f' for some function `f', then we know - that `f' is being called. */ - if (TREE_CODE (addr) == ADDR_EXPR - && TREE_CODE (TREE_OPERAND (addr, 0)) == FUNCTION_DECL) - return TREE_OPERAND (addr, 0); - - return 0; -} - #include "gt-objc-objc-act.h" diff --git a/gcc/objc/objc-act.h b/gcc/objc/objc-act.h index 741401d..6c6b227 100644 --- a/gcc/objc/objc-act.h +++ b/gcc/objc/objc-act.h @@ -29,7 +29,6 @@ along with GCC; see the file COPYING3. If not see bool objc_init (void); const char *objc_printable_name (tree, int); -tree objc_get_callee_fndecl (const_tree); void objc_finish_file (void); tree objc_fold_obj_type_ref (tree, tree); enum gimplify_status objc_gimplify_expr (tree *, gimple_seq *, gimple_seq *); diff --git a/gcc/objc/objc-lang.c b/gcc/objc/objc-lang.c index 11ba6ac..37c785c 100644 --- a/gcc/objc/objc-lang.c +++ b/gcc/objc/objc-lang.c @@ -48,8 +48,6 @@ static void objc_init_ts (void); #define LANG_HOOKS_DECL_PRINTABLE_NAME objc_printable_name #undef LANG_HOOKS_GIMPLIFY_EXPR #define LANG_HOOKS_GIMPLIFY_EXPR objc_gimplify_expr -#undef LANG_HOOKS_GET_CALLEE_FNDECL -#define LANG_HOOKS_GET_CALLEE_FNDECL objc_get_callee_fndecl #undef LANG_HOOKS_INIT_TS #define LANG_HOOKS_INIT_TS objc_init_ts diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog index e8bf0d6..b296480 100644 --- a/gcc/objcp/ChangeLog +++ b/gcc/objcp/ChangeLog @@ -1,3 +1,8 @@ +2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR objc/37460 + * objcp-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define. + 2008-04-03 Tom Tromey <tromey@redhat.com> * Make-lang.in (obj-c++_OBJS): New variable. diff --git a/gcc/objcp/objcp-lang.c b/gcc/objcp/objcp-lang.c index d595ba2..ab3206a 100644 --- a/gcc/objcp/objcp-lang.c +++ b/gcc/objcp/objcp-lang.c @@ -48,8 +48,6 @@ static void objcxx_init_ts (void); #define LANG_HOOKS_DECL_PRINTABLE_NAME objc_printable_name #undef LANG_HOOKS_GIMPLIFY_EXPR #define LANG_HOOKS_GIMPLIFY_EXPR objc_gimplify_expr -#undef LANG_HOOKS_GET_CALLEE_FNDECL -#define LANG_HOOKS_GET_CALLEE_FNDECL objc_get_callee_fndecl #undef LANG_HOOKS_INIT_TS #define LANG_HOOKS_INIT_TS objcxx_init_ts @@ -6770,9 +6770,8 @@ get_callee_fndecl (const_tree call) && TREE_CODE (TREE_OPERAND (addr, 0)) == FUNCTION_DECL) return TREE_OPERAND (addr, 0); - /* We couldn't figure out what was being called. Maybe the front - end has some idea. */ - return lang_hooks.lang_get_callee_fndecl (call); + /* We couldn't figure out what was being called. */ + return NULL_TREE; } /* Print debugging information about tree nodes generated during the compile, |