From: Jakub Jelinek Date: Thu, 31 Jan 2019 07:37:34 +0000 (+0100) Subject: re PR libstdc++/88170 (pretty printer FAILs) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8936f047c08193cdb5f5dda9d630e1b35045fe5e;p=gcc.git re PR libstdc++/88170 (pretty printer FAILs) PR libstdc++/88170 * c-pretty-print.c (pp_c_enumeration_constant): Print always as a C cast in pp_c_flag_gnu_v3 mode. * cxx-pretty-print.c (pp_cxx_enumeration_constant): Print always as a C cast in pp_c_flag_gnu_v3 mode. From-SVN: r268413 --- diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 3c55209ef34..25c5323f6db 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2019-01-31 Jakub Jelinek + + PR libstdc++/88170 + * c-pretty-print.c (pp_c_enumeration_constant): Print always as + a C cast in pp_c_flag_gnu_v3 mode. + 2019-01-29 Jakub Jelinek PR c/86125 diff --git a/gcc/c-family/c-pretty-print.c b/gcc/c-family/c-pretty-print.c index 46db469e29a..3e25624d3a3 100644 --- a/gcc/c-family/c-pretty-print.c +++ b/gcc/c-family/c-pretty-print.c @@ -976,14 +976,14 @@ static void pp_c_enumeration_constant (c_pretty_printer *pp, tree e) { tree type = TREE_TYPE (e); - tree value; + tree value = NULL_TREE; /* Find the name of this constant. */ - for (value = TYPE_VALUES (type); - value != NULL_TREE - && !tree_int_cst_equal (DECL_INITIAL (TREE_VALUE (value)), e); - value = TREE_CHAIN (value)) - ; + if ((pp->flags & pp_c_flag_gnu_v3) == 0) + for (value = TYPE_VALUES (type); value != NULL_TREE; + value = TREE_CHAIN (value)) + if (tree_int_cst_equal (DECL_INITIAL (TREE_VALUE (value)), e)) + break; if (value != NULL_TREE) pp->id_expression (TREE_PURPOSE (value)); diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 29d87422369..884f09c3b44 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2019-01-31 Jakub Jelinek + + PR libstdc++/88170 + * cxx-pretty-print.c (pp_cxx_enumeration_constant): Print always as + a C cast in pp_c_flag_gnu_v3 mode. + 2019-01-30 Jakub Jelinek PR c++/88988 diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c index a114d6654e9..a0088a257a2 100644 --- a/gcc/cp/cxx-pretty-print.c +++ b/gcc/cp/cxx-pretty-print.c @@ -309,14 +309,14 @@ static void pp_cxx_enumeration_constant (cxx_pretty_printer *pp, tree e) { tree type = TREE_TYPE (e); - tree value; + tree value = NULL_TREE; /* Find the name of this constant. */ - for (value = TYPE_VALUES (type); - value != NULL_TREE - && !tree_int_cst_equal (DECL_INITIAL (TREE_VALUE (value)), e); - value = TREE_CHAIN (value)) - ; + if ((pp->flags & pp_c_flag_gnu_v3) == 0) + for (value = TYPE_VALUES (type); value != NULL_TREE; + value = TREE_CHAIN (value)) + if (tree_int_cst_equal (DECL_INITIAL (TREE_VALUE (value)), e)) + break; if (value != NULL_TREE) {