From e8fa381741bd504e42221463d18d0dae9eae4832 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 30 Jul 2015 15:16:23 -0400 Subject: [PATCH] c-pretty-print.c (unary_expression): Don't print '*' for reference decay. * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print '*' for reference decay. From-SVN: r226410 --- gcc/c-family/ChangeLog | 5 +++++ gcc/c-family/c-pretty-print.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index d895394..9ab9551 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2015-07-30 Jason Merrill + + * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print + '*' for reference decay. + 2015-07-30 Marek Polacek * c-common.c (warn_tautological_cmp): Bail for float types. diff --git a/gcc/c-family/c-pretty-print.c b/gcc/c-family/c-pretty-print.c index d1a0e12..90f8c3d 100644 --- a/gcc/c-family/c-pretty-print.c +++ b/gcc/c-family/c-pretty-print.c @@ -1774,7 +1774,13 @@ c_pretty_printer::unary_expression (tree e) if (code == ADDR_EXPR && TREE_CODE (TREE_OPERAND (e, 0)) != STRING_CST) pp_ampersand (this); else if (code == INDIRECT_REF) - pp_c_star (this); + { + tree type = TREE_TYPE (TREE_OPERAND (e, 0)); + if (type && TREE_CODE (type) == REFERENCE_TYPE) + /* Reference decay is implicit, don't print anything. */; + else + pp_c_star (this); + } else if (code == NEGATE_EXPR) pp_minus (this); else if (code == BIT_NOT_EXPR || code == CONJ_EXPR) -- 2.7.4