From: Jakub Jelinek Date: Tue, 27 Jul 2010 15:46:25 +0000 (+0200) Subject: re PR c/45079 (function names in error message (�c_maybe_const_expr� not supported... X-Git-Tag: releases/gcc-4.6.0~5400 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f551f80cd19ae94af5ed73c2ccb05a18731acc85;p=thirdparty%2Fgcc.git re PR c/45079 (function names in error message (�c_maybe_const_expr� not supported by 'pp_c_expression')) PR c/45079 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR. * gcc.dg/pr45079.c: New test. From-SVN: r162575 --- diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 17bd6ab56f5f..d5f3e6eabb3e 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2010-07-27 Jakub Jelinek + + PR c/45079 + * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR. + 2010-07-27 Joseph Myers * c-common.h (c_common_missing_argument): Remove. diff --git a/gcc/c-family/c-pretty-print.c b/gcc/c-family/c-pretty-print.c index 7f4b2388f43e..d72ff309753f 100644 --- a/gcc/c-family/c-pretty-print.c +++ b/gcc/c-family/c-pretty-print.c @@ -2167,6 +2167,10 @@ pp_c_expression (c_pretty_printer *pp, tree e) pp_string (pp, "({...})"); break; + case C_MAYBE_CONST_EXPR: + pp_c_expression (pp, C_MAYBE_CONST_EXPR_EXPR (e)); + break; + default: pp_unsupported_tree (pp, e); break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ee1d1f63740f..6a331227cd24 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-07-27 Jakub Jelinek + + PR c/45079 + * gcc.dg/pr45079.c: New test. + 2010-07-27 Ira Rosen PR tree-optimization/44152 diff --git a/gcc/testsuite/gcc.dg/pr45079.c b/gcc/testsuite/gcc.dg/pr45079.c new file mode 100644 index 000000000000..1ef02ff78fb4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr45079.c @@ -0,0 +1,10 @@ +/* PR c/45079 */ +/* { dg-do compile } */ + +void +foo (const char *p, int cond, int a, int b) +{ + p[cond ? a : b] = '\0'; /* { dg-error "assignment of read-only location" } */ +} + +/* { dg-bogus "not supported by" "" { target *-*-* } 0 } */