re PR c++/60845 (print original type for typedef classes in diagnostics)

/cp
2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60845
	* typeck.c (finish_class_member_access_expr): Use %q#T instead of
	%qD in error message.

/testsuite
2014-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60845
	* g++.dg/parse/error55.C: New.

From-SVN: r218218
This commit is contained in:
Paolo Carlini 2014-12-01 14:58:01 +00:00 committed by Paolo Carlini
parent 0d0e4a03e9
commit 7a1811342e
4 changed files with 19 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2014-12-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60845
* typeck.c (finish_class_member_access_expr): Use %q#T instead of
%qD in error message.
2014-11-29 Jakub Jelinek <jakub@redhat.com>
* cp-gimplify.c (cxx_omp_clause_apply_fn): Remove NULL last argument

View File

@ -2772,7 +2772,7 @@ finish_class_member_access_expr (tree object, tree name, bool template_p,
if (member == NULL_TREE)
{
if (complain & tf_error)
error ("%qD has no member named %qE",
error ("%q#T has no member named %qE",
TREE_CODE (access_path) == TREE_BINFO
? TREE_TYPE (access_path) : object_type, name);
return error_mark_node;

View File

@ -1,3 +1,8 @@
2014-12-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60845
* g++.dg/parse/error55.C: New.
2014-12-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/15346

View File

@ -0,0 +1,7 @@
// PR c++/60845
class A { };
typedef A B;
void foo (B &a) {
a.x(); // { dg-error "'B {aka class A}' has no member named 'x'" }
}