]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2009-12-15 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Dec 2009 11:32:49 +0000 (11:32 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Dec 2009 11:32:49 +0000 (11:32 +0000)
* gimple.h (compare_field_offset): Declare.
* gimple.c (compare_field_offset): Export.
* lto-streamer-in.c (input_gimple_stmt): Use compare_field_offset.

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

gcc/ChangeLog
gcc/gimple.c
gcc/gimple.h
gcc/lto-streamer-in.c

index df110ad4df6464b5a7fd121a4798e3003c5d3d75..f214d42c217e53fcfe8873466f07441972e3226a 100644 (file)
@@ -1,3 +1,9 @@
+2009-12-15  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (compare_field_offset): Declare.
+       * gimple.c (compare_field_offset): Export.
+       * lto-streamer-in.c (input_gimple_stmt): Use compare_field_offset.
+
 2009-12-15  Richard Guenther  <rguenther@suse.de>
 
        * lto-cgraph.c (lto_output_node): Also stream the alias
index a04683a87ac00df5c86e2dc9d0574153de72ee4f..02d8cc4a5dfe981cb58afff2ed6f1c27a6b4b6f9 100644 (file)
@@ -3171,7 +3171,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.  */
 
-static bool
+bool
 compare_field_offset (tree f1, tree f2)
 {
   if (DECL_OFFSET_ALIGN (f1) == DECL_OFFSET_ALIGN (f2))
index 7872d9e30e5e26bcc0724f9c8faec7f4cbe982be..8bddb2a38b7d612df965948fac54bee4577ab428 100644 (file)
@@ -921,6 +921,7 @@ extern bool is_gimple_call_addr (tree);
 extern tree get_call_expr_in (tree t);
 
 extern void recalculate_side_effects (tree);
+extern bool compare_field_offset (tree, tree);
 extern tree gimple_register_type (tree);
 extern void print_gimple_types_stats (void);
 extern void free_gimple_type_tables (void);
index 9f831a85409001d2c4f1d317d388f04bf69fd916..ea657e1acdf3656cd7196cf33720ebe149cb0929 100644 (file)
@@ -1082,12 +1082,7 @@ input_gimple_stmt (struct lto_input_block *ib, struct data_in *data_in,
                    {
                      if (tem == field
                          || (TREE_TYPE (tem) == TREE_TYPE (field)
-                             && (DECL_FIELD_OFFSET (tem)
-                                 == DECL_FIELD_OFFSET (field))
-                             && (DECL_FIELD_BIT_OFFSET (tem)
-                                 == DECL_FIELD_BIT_OFFSET (field))
-                             && (DECL_OFFSET_ALIGN (tem)
-                                 == DECL_OFFSET_ALIGN (field))))
+                             && compare_field_offset (tem, field)))
                        break;
                    }
                  /* In case of type mismatches across units we can fail