re PR c++/17763 (Wrong context in error message for template parameter)

/cp
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/17763
	* error.c (dump_expr): Consistently use the *_cxx_*
	variants of the pretty-print functions.

/testsuite
2007-08-10  Paolo Carlini  <pcarlini@suse.de>

	PR c++/17763
	* g++.dg/other/error16.C: New.

From-SVN: r127335
This commit is contained in:
Paolo Carlini 2007-08-10 14:57:52 +00:00 committed by Paolo Carlini
parent 8a09ef91fa
commit 2fbe0e5aec
4 changed files with 27 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2007-08-10 Paolo Carlini <pcarlini@suse.de>
PR c++/17763
* error.c (dump_expr): Consistently use the *_cxx_*
variants of the pretty-print functions.
2007-08-10 Paolo Carlini <pcarlini@suse.de>
PR c++/22256

View File

@ -1550,13 +1550,13 @@ dump_expr (tree t, int flags)
if (TREE_CODE (ob) == ADDR_EXPR)
{
dump_expr (TREE_OPERAND (ob, 0), flags | TFF_EXPR_IN_PARENS);
pp_dot (cxx_pp);
pp_cxx_dot (cxx_pp);
}
else if (TREE_CODE (ob) != PARM_DECL
|| strcmp (IDENTIFIER_POINTER (DECL_NAME (ob)), "this"))
{
dump_expr (ob, flags | TFF_EXPR_IN_PARENS);
pp_arrow (cxx_pp);
pp_cxx_arrow (cxx_pp);
}
skipfirst = true;
}

View File

@ -1,3 +1,8 @@
2007-08-10 Paolo Carlini <pcarlini@suse.de>
PR c++/17763
* g++.dg/other/error16.C: New.
2007-08-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33039

View File

@ -0,0 +1,14 @@
// PR c++/17763
template <typename U> struct Outer {
struct Inner {};
Inner foo();
};
typedef int X;
typedef Outer<X> XOuter;
int main() {
Outer<int> ab;
ab.foo() == 1; // { dg-error "ab.Outer" }
}