diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-10 21:54:33 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-10 21:54:33 +0000 |
commit | 3ef2cbcfbfc81d2582c170fbf033b71ff2efc0cc (patch) | |
tree | 6b65373a74635a6fc6d17e3e730f07357c92cc14 /gcc/lto-streamer-in.c | |
parent | b3aba967437321b0203376fb6daed4c1b92dcdb9 (diff) | |
download | gcc-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.c | 5 |
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); + } } |