c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
authorZiemowit Laski <zlaski@apple.com>
Tue, 2 Nov 2004 20:29:21 +0000 (20:29 +0000)
committerZiemowit Laski <zlaski@gcc.gnu.org>
Tue, 2 Nov 2004 20:29:21 +0000 (20:29 +0000)
[gcc/ChangeLog]
2004-11-02  Ziemowit Laski  <zlaski@apple.com>

* c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
(c_types_compatible_p): Move function definition...
* c-objc-common.c (c_types_compatible_p): ...here.
* c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
c-lang.c.

[gcc/cp/ChangeLog]
2004-11-02  Ziemowit Laski  <zlaski@apple.com>

* cp-lang.c (cxx_types_compatible_p): Remove prototype and definition.
(LANG_HOOKS_TYPES_COMPATIBLE_P): Move to cp-objcp-common.h.
* cp-objcp-common.c (cxx_types_compatible_p): Moved definition here
from cp-lang.c.
* cp-objcp-common.h (cxx_types_compatible_p): Moved prototype here
from cp-lang.c.
(LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from cp-lang.c.

From-SVN: r89997

gcc/ChangeLog
gcc/c-lang.c
gcc/c-objc-common.c
gcc/c-objc-common.h
gcc/cp/ChangeLog
gcc/cp/cp-lang.c
gcc/cp/cp-objcp-common.c
gcc/cp/cp-objcp-common.h

index f6c687404fe96c72fc71fec8e0214deda69d201f..7f09ec28e7548290b65a1ac5004f862a07d87c05 100644 (file)
@@ -1,3 +1,11 @@
+2004-11-02  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
+       (c_types_compatible_p): Move function definition...
+       * c-objc-common.c (c_types_compatible_p): ...here.
+       * c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
+       c-lang.c.
+
 2004-11-02  Steven Bosscher  <stevenb@suse.de>
 
        * cfgloop.h (struct loop): Update comment.
index ca0173e333aac3cb2e0abf34c58c2160d2cbf64f..8eb090c4d62ddc86e2f47845623320d6eba7527f 100644 (file)
@@ -44,8 +44,6 @@ enum c_language_kind c_language = clk_c;
 #define LANG_HOOKS_NAME "GNU C"
 #undef LANG_HOOKS_INIT
 #define LANG_HOOKS_INIT c_objc_common_init
-#undef LANG_HOOKS_TYPES_COMPATIBLE_P
-#define LANG_HOOKS_TYPES_COMPATIBLE_P c_types_compatible_p
 
 /* Each front end provides its own lang hook initializer.  */
 const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
@@ -92,10 +90,4 @@ finish_file (void)
 {
 }
 
-int
-c_types_compatible_p (tree x, tree y)
-{
-    return comptypes (TYPE_MAIN_VARIANT (x), TYPE_MAIN_VARIANT (y));
-}
-
 #include "gtype-c.h"
index 278529ec99455bad81ceacfc2de4029a481d71ec..d9e8b93e481e3578ca9f6be4e8c37e8d26057bea 100644 (file)
@@ -296,3 +296,9 @@ c_initialize_diagnostics (diagnostic_context *context)
   /* It is safe to free this object because it was previously XNEW()'d.  */
   XDELETE (base);
 }
+
+int
+c_types_compatible_p (tree x, tree y)
+{
+    return comptypes (TYPE_MAIN_VARIANT (x), TYPE_MAIN_VARIANT (y));
+}
index 48b22a19d2b1b3136bbc2b676846eda6e289b791..4c7be6327ab7a496a20f8e1dfcbb41cfa8acf064 100644 (file)
@@ -66,6 +66,8 @@ extern void c_initialize_diagnostics (diagnostic_context *);
 #define LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL c_warn_unused_global_decl
 #undef LANG_HOOKS_PRINT_IDENTIFIER
 #define LANG_HOOKS_PRINT_IDENTIFIER c_print_identifier
+#undef LANG_HOOKS_TYPES_COMPATIBLE_P
+#define LANG_HOOKS_TYPES_COMPATIBLE_P c_types_compatible_p
 #undef LANG_HOOKS_FUNCTION_ENTER_NESTED
 #define LANG_HOOKS_FUNCTION_ENTER_NESTED c_push_function_context
 #undef LANG_HOOKS_FUNCTION_LEAVE_NESTED
index 022148e916565bb430447c9359a58b8fd1755975..61691e9d98c24fc3b89bc3a4f82837047fc33bb6 100644 (file)
@@ -1,3 +1,13 @@
+2004-11-02  Ziemowit Laski  <zlaski@apple.com>
+
+       * cp-lang.c (cxx_types_compatible_p): Remove prototype and definition.
+       (LANG_HOOKS_TYPES_COMPATIBLE_P): Move to cp-objcp-common.h.
+       * cp-objcp-common.c (cxx_types_compatible_p): Moved definition here
+       from cp-lang.c.
+       * cp-objcp-common.h (cxx_types_compatible_p): Moved prototype here
+       from cp-lang.c.
+       (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from cp-lang.c.
+
 2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
 
        PR c++/18064
index 0e44a084d1ec14c9e4b794f82aca29e52ef532f9..da5d6fb5cb202d3659797b2aece8553ea6a26d4e 100644 (file)
@@ -39,16 +39,12 @@ enum c_language_kind c_language = clk_cxx;
 /* Lang hooks common to C++ and ObjC++ are declared in cp/cp-objcp-common.h;
    consequently, there should be very few hooks below.  */
 
-static int cxx_types_compatible_p (tree, tree);
-
 #undef LANG_HOOKS_NAME
 #define LANG_HOOKS_NAME "GNU C++"
 #undef LANG_HOOKS_INIT
 #define LANG_HOOKS_INIT cxx_init
 #undef LANG_HOOKS_DECL_PRINTABLE_NAME
 #define LANG_HOOKS_DECL_PRINTABLE_NAME cxx_printable_name
-#undef LANG_HOOKS_TYPES_COMPATIBLE_P
-#define LANG_HOOKS_TYPES_COMPATIBLE_P cxx_types_compatible_p
 #undef LANG_HOOKS_FOLD_OBJ_TYPE_REF
 #define LANG_HOOKS_FOLD_OBJ_TYPE_REF cp_fold_obj_type_ref
 
@@ -99,25 +95,6 @@ const char *const tree_code_name[] = {
 /* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
    there should be very few routines below.  */
 
-/* This compares two types for equivalence ("compatible" in C-based languages).
-   This routine should only return 1 if it is sure.  It should not be used
-   in contexts where erroneously returning 0 causes problems.  */
-
-static int cxx_types_compatible_p (tree x, tree y)
-{
-  if (same_type_ignoring_top_level_qualifiers_p (x, y))
-    return 1;
-
-  /* Once we get to the middle-end, references and pointers are
-     interchangeable.  FIXME should we try to replace all references with
-     pointers?  */
-  if (POINTER_TYPE_P (x) && POINTER_TYPE_P (y)
-      && same_type_p (TREE_TYPE (x), TREE_TYPE (y)))
-    return 1;
-
-  return 0;
-}
-
 /* The following function does something real, but only in Objective-C++.  */
 
 tree
index b8b8bad6a8607cd6da76dcfbd3ba6b5fe3db1b0a..a58549b7326894c3921813eb2be7bf37e663c01e 100644 (file)
@@ -148,6 +148,26 @@ cxx_initialize_diagnostics (diagnostic_context *context)
   free (base);
 }
 
+/* This compares two types for equivalence ("compatible" in C-based languages).
+   This routine should only return 1 if it is sure.  It should not be used
+   in contexts where erroneously returning 0 causes problems.  */
+
+int
+cxx_types_compatible_p (tree x, tree y)
+{
+  if (same_type_ignoring_top_level_qualifiers_p (x, y))
+    return 1;
+
+  /* Once we get to the middle-end, references and pointers are
+     interchangeable.  FIXME should we try to replace all references with
+     pointers?  */
+  if (POINTER_TYPE_P (x) && POINTER_TYPE_P (y)
+      && same_type_p (TREE_TYPE (x), TREE_TYPE (y)))
+    return 1;
+
+  return 0;
+}
+
 /* Stubs to keep c-opts.c happy.  */
 void
 push_file_scope (void)
index b093150940541a5e8977b1bd3a5f014975495c65..7a2a2343b7c379e0713f43ea16655abf9cba2cd4 100644 (file)
@@ -30,6 +30,7 @@ extern tree cp_expr_size (tree);
 extern size_t cp_tree_size (enum tree_code);
 extern bool cp_var_mod_type_p (tree, tree);
 extern void cxx_initialize_diagnostics (struct diagnostic_context *);
+extern int cxx_types_compatible_p (tree, tree);
 
 /* In cp/cp-lang.c and objcp/objcp-lang.c.  */
 
@@ -86,6 +87,8 @@ extern tree objcp_tsubst_copy_and_build (tree, tree, tsubst_flags_t,
 #define LANG_HOOKS_PRINT_TYPE cxx_print_type
 #undef LANG_HOOKS_PRINT_IDENTIFIER
 #define LANG_HOOKS_PRINT_IDENTIFIER cxx_print_identifier
+#undef LANG_HOOKS_TYPES_COMPATIBLE_P
+#define LANG_HOOKS_TYPES_COMPATIBLE_P cxx_types_compatible_p
 #undef LANG_HOOKS_PRINT_ERROR_FUNCTION
 #define LANG_HOOKS_PRINT_ERROR_FUNCTION        cxx_print_error_function
 #undef LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL