re PR c++/14123 (odd number of parentheses in error message)
PR c++/14123 * cxx-pretty-print.c (pp_cxx_ptr_operator): Properly put paranthesis in case of pointers to array members. * error.c (dump_type_prefix): Likewise. (dump_type_suffix): Maybe issue a whitespace when printing ARRAY_TYPE. From-SVN: r83748
This commit is contained in:
parent
fadabebde6
commit
934d729b95
4 changed files with 27 additions and 0 deletions
|
@ -1,3 +1,12 @@
|
|||
2004-06-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||
|
||||
PR c++/14123
|
||||
* cxx-pretty-print.c (pp_cxx_ptr_operator): Properly put
|
||||
paranthesis in case of pointers to array members.
|
||||
* error.c (dump_type_prefix): Likewise.
|
||||
(dump_type_suffix): Maybe issue a whitespace when printing
|
||||
ARRAY_TYPE.
|
||||
|
||||
2004-06-27 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/16193
|
||||
|
|
|
@ -1100,6 +1100,8 @@ pp_cxx_ptr_operator (cxx_pretty_printer *pp, tree t)
|
|||
case OFFSET_TYPE:
|
||||
if (TYPE_PTR_TO_MEMBER_P (t))
|
||||
{
|
||||
if (TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE)
|
||||
pp_cxx_left_paren (pp);
|
||||
pp_cxx_nested_name_specifier (pp, TYPE_PTRMEM_CLASS_TYPE (t));
|
||||
pp_star (pp);
|
||||
pp_cxx_cv_qualifier_seq (pp, t);
|
||||
|
|
|
@ -512,11 +512,14 @@ dump_type_prefix (tree t, int flags)
|
|||
if (TREE_CODE (t) == OFFSET_TYPE) /* pmfs deal with this in d_t_p */
|
||||
{
|
||||
pp_maybe_space (cxx_pp);
|
||||
if (TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE)
|
||||
pp_cxx_left_paren (cxx_pp);
|
||||
dump_type (TYPE_OFFSET_BASETYPE (t), flags);
|
||||
pp_cxx_colon_colon (cxx_pp);
|
||||
}
|
||||
pp_cxx_star (cxx_pp);
|
||||
pp_cxx_cv_qualifier_seq (cxx_pp, t);
|
||||
pp_base (cxx_pp)->padding = pp_before;
|
||||
break;
|
||||
|
||||
/* Can only be reached through function pointer -- this would not be
|
||||
|
@ -613,6 +616,7 @@ dump_type_suffix (tree t, int flags)
|
|||
}
|
||||
|
||||
case ARRAY_TYPE:
|
||||
pp_maybe_space (cxx_pp);
|
||||
pp_cxx_left_bracket (cxx_pp);
|
||||
if (TYPE_DOMAIN (t))
|
||||
{
|
||||
|
|
12
gcc/testsuite/g++.dg/other/ptrmem5.C
Normal file
12
gcc/testsuite/g++.dg/other/ptrmem5.C
Normal file
|
@ -0,0 +1,12 @@
|
|||
// PR 14123
|
||||
|
||||
struct a
|
||||
{
|
||||
int x[8];
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
int a::*n[8];
|
||||
n = &a::x; // { dg-error "int \\(a::\\*\\)" }
|
||||
}
|
Loading…
Add table
Reference in a new issue