PR c++/49117
* call.c (perform_implicit_conversion_flags): Print source type as
well as expression.
From-SVN: r175044
2011-06-14 Jason Merrill <jason@redhat.com>
+ PR c++/49117
+ * call.c (perform_implicit_conversion_flags): Print source type as
+ well as expression.
+
PR c++/49389
* typeck2.c (build_m_component_ref): Preserve rvalueness.
else if (invalid_nonstatic_memfn_p (expr, complain))
/* We gave an error. */;
else
- error ("could not convert %qE to %qT", expr, type);
+ error ("could not convert %qE from %qT to %qT", expr,
+ TREE_TYPE (expr), type);
}
expr = error_mark_node;
}
2011-06-14 Jason Merrill <jason@redhat.com>
+ * g++.dg/other/error23.C: Adjust error message.
+ * g++.dg/other/error32.C: Likewise.
+
PR c++/49389
* g++.dg/cpp0x/rv-dotstar.C: New.
// { dg-do compile }
int v __attribute ((vector_size (8)));
-bool b = !(v - v); // { dg-error "could not convert .\\(__vector.2. int\\)\\{0, 0\\}. to .bool.|in argument to unary" }
+bool b = !(v - v); // { dg-error "could not convert .\\(__vector.2. int\\)\\{0, 0\\}. from .__vector.2. int. to .bool.|in argument to unary" }
void foo()
{
- if (throw 0) // { dg-error "could not convert .\\<throw-expression\\>. to .bool." }
+ if (throw 0) // { dg-error "could not convert .\\<throw-expression\\>. from .void. to .bool." }
;
}