2009-12-15 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Dec 2009 11:28:10 +0000 (11:28 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Dec 2009 11:28:10 +0000 (11:28 +0000)
* lto-cgraph.c (lto_output_node): Also stream the alias
for regular aliases.
(input_node): Likewise.

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

gcc/ChangeLog
gcc/lto-cgraph.c

index 292ac69..df110ad 100644 (file)
@@ -1,3 +1,9 @@
+2009-12-15  Richard Guenther  <rguenther@suse.de>
+
+       * lto-cgraph.c (lto_output_node): Also stream the alias
+       for regular aliases.
+       (input_node): Likewise.
+
 2009-12-15  Paolo Bonzini  <bonzini@gnu.org>
            Shujing Zhao  <pearly.zhao@oracle.com>
 
index e02999d..e3deb9c 100644 (file)
@@ -340,7 +340,11 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
                                        alias->thunk.alias);
            }
          else
-            lto_output_uleb128_stream (ob->main_stream, 0);
+           {
+             lto_output_uleb128_stream (ob->main_stream, 0);
+             lto_output_fn_decl_index (ob->decl_state, ob->main_stream,
+                                       alias->thunk.alias);
+           }
          alias = alias->previous;
        }
       while (alias);
@@ -630,7 +634,12 @@ input_node (struct lto_file_decl_data *file_data,
       alias_decl = lto_file_decl_data_get_fn_decl (file_data, decl_index);
       type = lto_input_uleb128 (ib);
       if (!type)
-        cgraph_same_body_alias (alias_decl, fn_decl);
+       {
+         tree real_alias;
+         decl_index = lto_input_uleb128 (ib);
+         real_alias = lto_file_decl_data_get_fn_decl (file_data, decl_index);
+         cgraph_same_body_alias (alias_decl, real_alias);
+       }
       else
         {
          HOST_WIDE_INT fixed_offset = lto_input_uleb128 (ib);