2011-07-14 12:54:23 +08:00
// RUN: %clang_cc1 -fsyntax-only -verify %s
// PR10355
2019-05-09 11:31:27 +08:00
template < typename T > void template_id1 ( ) {
template_id2 < > t ; // expected-error-re {{no template named 'template_id2'{{$}}}}
2011-07-14 12:54:23 +08:00
}
2012-03-27 00:54:18 +08:00
// FIXME: It would be nice if we could get this correction right.
namespace PR12297 {
namespace A {
typedef short T ;
namespace B {
typedef short T ;
2013-07-03 07:47:35 +08:00
T global ( ) ; // expected-note {{'::PR12297::global' declared here}}
2012-03-27 00:54:18 +08:00
}
}
using namespace A : : B ;
2013-07-03 07:47:35 +08:00
// FIXME: Adding '::PR12297::' is not needed as removing 'A::' is sufficient
2013-08-09 12:35:01 +08:00
T A : : global ( ) ; // expected-error {{out-of-line declaration of 'global' does not match any declaration in namespace 'PR12297::A'; did you mean '::PR12297::global'?}}
2012-03-27 00:54:18 +08:00
}