2008-03-07 Paolo Bonzini <bonzini@gnu.org>
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Mar 2008 08:48:57 +0000 (08:48 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Mar 2008 08:48:57 +0000 (08:48 +0000)
* c-common.c (vector_types_convertible_p): Call langhook
instead of comptypes.

cp:
2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

* cp-objcp-common.c (cxx_types_compatible_p): Remove obsolete
test for equivalence between pointer and references.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133002 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-common.c
gcc/cp/ChangeLog
gcc/cp/cp-objcp-common.c

index d3a2325..783ad5e 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * c-common.c (vector_types_convertible_p): Call langhook
+       instead of comptypes.
+
 2008-03-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
        PR tree-opt/35402
index f3de12a..2bc7434 100644 (file)
@@ -1196,7 +1196,7 @@ vector_types_convertible_p (const_tree t1, const_tree t2, bool emit_lax_note)
     return convertible_lax;
 
   if (TYPE_VECTOR_SUBPARTS (t1) == TYPE_VECTOR_SUBPARTS (t2)
-      && comptypes (TREE_TYPE (t1), TREE_TYPE (t2)))
+      && lang_hooks.types_compatible_p (TREE_TYPE (t1), TREE_TYPE (t2)))
     return true;
 
   if (emit_lax_note && !emitted_lax_note)
index 3c79d1d..df3fc96 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * cp-objcp-common.c (cxx_types_compatible_p): Remove obsolete
+       test for equivalence between pointer and references.
+
 2008-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
        PR 24924
index 42b0054..140541d 100644 (file)
@@ -185,19 +185,7 @@ cxx_initialize_diagnostics (diagnostic_context *context)
 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)
-      && TYPE_MODE (x) == TYPE_MODE (y)
-      && TYPE_REF_CAN_ALIAS_ALL (x) == TYPE_REF_CAN_ALIAS_ALL (y)
-      && same_type_p (TREE_TYPE (x), TREE_TYPE (y)))
-    return 1;
-
-  return 0;
+  return same_type_ignoring_top_level_qualifiers_p (x, y);
 }
 
 tree