summaryrefslogtreecommitdiff
path: root/gcc/lto-streamer-in.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-10 21:54:33 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-10 21:54:33 +0000
commit3ef2cbcfbfc81d2582c170fbf033b71ff2efc0cc (patch)
tree6b65373a74635a6fc6d17e3e730f07357c92cc14 /gcc/lto-streamer-in.c
parentb3aba967437321b0203376fb6daed4c1b92dcdb9 (diff)
downloadgcc-3ef2cbcfbfc81d2582c170fbf033b71ff2efc0cc.tar.gz
PR lto/46083
* lto-streamer-out.c (pack_ts_function_decl_value_fields): Store DECL_FINI_PRIORITY. * lto-streamer-in.c (unpack_ts_function_decl_value_fields): Restore DECL_FINI_PRIORITY. * gcc.dg/initpri3.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168642 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r--gcc/lto-streamer-in.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index 4fe9cdb2c6b..ba48cbb3f60 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -1683,6 +1683,11 @@ unpack_ts_function_decl_value_fields (struct bitpack_d *bp, tree expr)
DECL_DISREGARD_INLINE_LIMITS (expr) = (unsigned) bp_unpack_value (bp, 1);
DECL_PURE_P (expr) = (unsigned) bp_unpack_value (bp, 1);
DECL_LOOPING_CONST_OR_PURE_P (expr) = (unsigned) bp_unpack_value (bp, 1);
+ if (DECL_STATIC_DESTRUCTOR (expr))
+ {
+ priority_type p = (priority_type) bp_unpack_value (bp, HOST_BITS_PER_SHORT);
+ SET_DECL_FINI_PRIORITY (expr, p);
+ }
}