during default arg instantiation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181546
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-11-20 Jason Merrill <jason@redhat.com>
+
+ * pt.c (type_unification_real): Set input_location
+ during default arg instantiation.
+
2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51230
2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51230
{
tree parm = TREE_VALUE (TREE_VEC_ELT (tparms, i));
tree arg = TREE_PURPOSE (TREE_VEC_ELT (tparms, i));
{
tree parm = TREE_VALUE (TREE_VEC_ELT (tparms, i));
tree arg = TREE_PURPOSE (TREE_VEC_ELT (tparms, i));
+ location_t save_loc = input_location;
+ if (DECL_P (parm))
+ input_location = DECL_SOURCE_LOCATION (parm);
arg = tsubst_template_arg (arg, targs, complain, NULL_TREE);
arg = convert_template_argument (parm, arg, targs, complain,
i, NULL_TREE);
arg = tsubst_template_arg (arg, targs, complain, NULL_TREE);
arg = convert_template_argument (parm, arg, targs, complain,
i, NULL_TREE);
+ input_location = save_loc;
if (arg == error_mark_node)
return 1;
else
if (arg == error_mark_node)
return 1;
else
+2011-11-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae11.C: Adjust.
+ * g++.dg/cpp0x/sfinae26.C: Adjust.
+ * g++.dg/template/unify11.C: Adjust.
+
2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51230
2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51230
- bool Noexcept = noexcept( declval<T&>().foo() )
+ bool Noexcept = noexcept( declval<T&>().foo() ) // { dg-error "no member|not convert" }
+
>
inline void f2( T& x ) noexcept( Noexcept )
{
>
inline void f2( T& x ) noexcept( Noexcept )
{
// static_assert( noexcept( f3(y) ), "shall be ill-formed(OK)." );
noexcept( f1(z) ); // { dg-message "required" }
// static_assert( noexcept( f3(y) ), "shall be ill-formed(OK)." );
noexcept( f1(z) ); // { dg-message "required" }
- static_assert( noexcept( f2(z) ), "shall be ill-formed." ); // { dg-error "no match|could not convert" }
- // { dg-error "no member" "" { target *-*-* } 54 }
+ static_assert( noexcept( f2(z) ), "shall be ill-formed." ); // { dg-error "no match" }
noexcept( f3(z) ); // { dg-message "required" }
}
noexcept( f3(z) ); // { dg-message "required" }
}
-template <typename S, typename T, typename U, typename S::v = &S::v::s>
+template <typename S, typename T, typename U,
+ typename S::v = &S::v::s> // { dg-error "is not a" }
-foo (S c, T t, U u) // { dg-message "note" }
- A b = foo (this, a, t); // { dg-error "(no matching function|is not a)" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 23 }
+ A b = foo (this, a, t); // { dg-error "no matching function" }
+2011-11-20 Jason Merrill <jason@redhat.com>
+
+ * testsuite/20_util/bind/ref_neg.cc: Adjust error markings.
+
2011-11-20 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/backward/binders.h: Fix examples in doxygen comments and
2011-11-20 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/backward/binders.h: Fix examples in doxygen comments and
void test01()
{
const int dummy = 0;
void test01()
{
const int dummy = 0;
- std::bind(&inc, _1)(0); // { dg-error "no match|rvalue" }
- std::bind(&inc, std::ref(dummy))(); // { dg-error "no match|const" }
+ std::bind(&inc, _1)(0); // { dg-error "no match" }
+ // { dg-error "rvalue|const" "" { target *-*-* } 1199 }
+ // { dg-error "rvalue|const" "" { target *-*-* } 1212 }
+ // { dg-error "rvalue|const" "" { target *-*-* } 1226 }
+ // { dg-error "rvalue|const" "" { target *-*-* } 1240 }
+ std::bind(&inc, std::ref(dummy))(); // { dg-error "no match" }