diff options
author | Ben Cheng <bccheng@google.com> | 2014-04-22 13:33:12 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2014-04-22 13:33:12 -0700 |
commit | e3cc64dec20832769406aa38cde83c7dd4194bf4 (patch) | |
tree | ef8e39be37cfe0cb69d850043b7924389ff17164 /gcc-4.9/gcc/tree-pretty-print.c | |
parent | f33c7b3122b1d7950efa88067c9a156229ba647b (diff) | |
download | toolchain_gcc-e3cc64dec20832769406aa38cde83c7dd4194bf4.tar.gz toolchain_gcc-e3cc64dec20832769406aa38cde83c7dd4194bf4.tar.bz2 toolchain_gcc-e3cc64dec20832769406aa38cde83c7dd4194bf4.zip |
[4.9] GCC 4.9.0 official release refresh
Change-Id: Ic99a7da8b44b789a48aeec93b33e93944d6e6767
Diffstat (limited to 'gcc-4.9/gcc/tree-pretty-print.c')
-rw-r--r-- | gcc-4.9/gcc/tree-pretty-print.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/tree-pretty-print.c b/gcc-4.9/gcc/tree-pretty-print.c index 7ec4223d9..83d5ca62d 100644 --- a/gcc-4.9/gcc/tree-pretty-print.c +++ b/gcc-4.9/gcc/tree-pretty-print.c @@ -3365,6 +3365,25 @@ percent_K_format (text_info *text) gcc_assert (pp_ti_abstract_origin (text) != NULL); block = TREE_BLOCK (t); *pp_ti_abstract_origin (text) = NULL; + + if (in_lto_p) + { + /* ??? LTO drops all BLOCK_ABSTRACT_ORIGINs apart from those + representing the outermost block of an inlined function. + So walk the BLOCK tree until we hit such a scope. */ + while (block + && TREE_CODE (block) == BLOCK) + { + if (inlined_function_outer_scope_p (block)) + { + *pp_ti_abstract_origin (text) = block; + break; + } + block = BLOCK_SUPERCONTEXT (block); + } + return; + } + while (block && TREE_CODE (block) == BLOCK && BLOCK_ABSTRACT_ORIGIN (block)) @@ -3446,6 +3465,12 @@ pp_double_int (pretty_printer *pp, double_int d, bool uns) pp_wide_integer (pp, d.low); else if (d.fits_uhwi ()) pp_unsigned_wide_integer (pp, d.low); + else if (HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT) + pp_scalar (pp, + uns + ? HOST_WIDEST_INT_PRINT_UNSIGNED : HOST_WIDEST_INT_PRINT_DEC, + (HOST_WIDEST_INT) ((((unsigned HOST_WIDEST_INT) d.high << 1) + << (HOST_BITS_PER_WIDE_INT - 1)) | d.low)); else { unsigned HOST_WIDE_INT low = d.low; |