tree.c (decl_init_priority_insert): Don't create entry for default priority.
authorMichael Matz <matz@gcc.gnu.org>
Sun, 3 Apr 2011 11:11:25 +0000 (11:11 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Sun, 3 Apr 2011 11:11:25 +0000 (11:11 +0000)
* tree.c (decl_init_priority_insert): Don't create entry for
default priority.
(decl_fini_priority_insert): Ditto.
(fields_compatible_p, find_compatible_field): Remove.
* tree.h (fields_compatible_p, find_compatible_field): Remove.
* gimple.c (gimple_compare_field_offset): Adjust block comment.

From-SVN: r171902

gcc/ChangeLog
gcc/gimple.c
gcc/tree.c
gcc/tree.h

index e746e1d043a74740116d1e05e1772b063f26e1ff..801e52bd227c4d7e51627a20cd31f13247dce95f 100644 (file)
@@ -1,9 +1,18 @@
+2011-04-03  Michael Matz  <matz@suse.de>
+
+       * tree.c (decl_init_priority_insert): Don't create entry for
+       default priority.
+       (decl_fini_priority_insert): Ditto.
+       (fields_compatible_p, find_compatible_field): Remove.
+       * tree.h (fields_compatible_p, find_compatible_field): Remove.
+       * gimple.c (gimple_compare_field_offset): Adjust block comment.
+
 2011-04-03  Eric Botcazou  <ebotcazou@adacore.com>
 
        * combine.c (try_combine): Remove useless local variable.
 
 2011-04-03  Richard Guenther  <rguenther@suse.de>
-            Ira Rosen  <ira.rosen@linaro.org>
+           Ira Rosen  <ira.rosen@linaro.org>
 
        * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
        non-variable offsets and compare the remaining bases of the two
@@ -25,8 +34,8 @@
        (x86_output_mi_thunk): Likewise.
 
 2011-04-01  Olivier Hainque  <hainque@adacore.com>
-            Nicolas Setton  <setton@adacore.com>
-            Eric Botcazou  <ebotcazou@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
 
        * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
        (add_gnat_descriptive_type_attribute): New function.
index 7f29bd01e4053502acba900af76578c4a0e59d19..fe76942551a1ac4b71fc19f5de0df876dd4328ad 100644 (file)
@@ -3306,8 +3306,7 @@ compare_type_names_p (tree t1, tree t2, bool for_completion_p)
 
 /* Return true if the field decls F1 and F2 are at the same offset.
 
-   This is intended to be used on GIMPLE types only.  In order to
-   compare GENERIC types, use fields_compatible_p instead.  */
+   This is intended to be used on GIMPLE types only.  */
 
 bool
 gimple_compare_field_offset (tree f1, tree f2)
index 69d5ecbb700c58a0d6a96dd9098562ef20d1fd3f..eec4a8b290580adfccc264a7b548e11aa1c56a5f 100644 (file)
@@ -5913,6 +5913,8 @@ decl_init_priority_insert (tree decl, priority_type priority)
   struct tree_priority_map *h;
 
   gcc_assert (VAR_OR_FUNCTION_DECL_P (decl));
+  if (priority == DEFAULT_INIT_PRIORITY)
+    return;
   h = decl_priority_info (decl);
   h->init = priority;
 }
@@ -5925,6 +5927,8 @@ decl_fini_priority_insert (tree decl, priority_type priority)
   struct tree_priority_map *h;
 
   gcc_assert (TREE_CODE (decl) == FUNCTION_DECL);
+  if (priority == DEFAULT_INIT_PRIORITY)
+    return;
   h = decl_priority_info (decl);
   h->fini = priority;
 }
@@ -9893,50 +9897,6 @@ needs_to_live_in_memory (const_tree t)
              && aggregate_value_p (t, current_function_decl)));
 }
 
-/* There are situations in which a language considers record types
-   compatible which have different field lists.  Decide if two fields
-   are compatible.  It is assumed that the parent records are compatible.  */
-
-bool
-fields_compatible_p (const_tree f1, const_tree f2)
-{
-  if (!operand_equal_p (DECL_FIELD_BIT_OFFSET (f1),
-                       DECL_FIELD_BIT_OFFSET (f2), OEP_ONLY_CONST))
-    return false;
-
-  if (!operand_equal_p (DECL_FIELD_OFFSET (f1),
-                        DECL_FIELD_OFFSET (f2), OEP_ONLY_CONST))
-    return false;
-
-  if (!types_compatible_p (TREE_TYPE (f1), TREE_TYPE (f2)))
-    return false;
-
-  return true;
-}
-
-/* Locate within RECORD a field that is compatible with ORIG_FIELD.  */
-
-tree
-find_compatible_field (tree record, tree orig_field)
-{
-  tree f;
-
-  for (f = TYPE_FIELDS (record); f ; f = TREE_CHAIN (f))
-    if (TREE_CODE (f) == FIELD_DECL
-       && fields_compatible_p (f, orig_field))
-      return f;
-
-  /* ??? Why isn't this on the main fields list?  */
-  f = TYPE_VFIELD (record);
-  if (f && TREE_CODE (f) == FIELD_DECL
-      && fields_compatible_p (f, orig_field))
-    return f;
-
-  /* ??? We should abort here, but Java appears to do Bad Things
-     with inherited fields.  */
-  return orig_field;
-}
-
 /* Return value of a constant X and sign-extend it.  */
 
 HOST_WIDE_INT
index ac5e544abe37ffd23888c976433be16d8ba24ecb..b50336190f9128899607c01f3183165b2c962e72 100644 (file)
@@ -5228,9 +5228,6 @@ extern bool subrange_type_for_debug_p (const_tree, tree *, tree *);
 extern HOST_WIDE_INT int_cst_value (const_tree);
 extern HOST_WIDEST_INT widest_int_cst_value (const_tree);
 
-extern bool fields_compatible_p (const_tree, const_tree);
-extern tree find_compatible_field (tree, tree);
-
 extern tree *tree_block (tree);
 extern location_t *block_nonartificial_location (tree);
 extern location_t tree_nonartificial_location (tree);