2014-01-30 Alangi Derick <alangiderick@gmail.com>
[official-gcc.git] / gcc / testsuite / g++.dg / template / incomplete1.C
blobe4997ef01465e697c51ddae2b84fa06c8b34663a
1 // { dg-do compile }
2 // Origin: Ivan Godard <igodard at pacbell dot net>
3 // PR c++/17447: Detect parameters of dependent types even in templates
5 struct B;   // { dg-error "forward declaration" }
6 template<typename T> struct A {
8     friend A& operator <<(A& a, B b) { return a; } // { dg-error "incomplete" }
9     friend A& operator <<(A& a, T b) { return a; }
11     void foo1(B b) {}   // { dg-error "incomplete" }
12     void foo1a(T b) {}
14     B foo2(void) {}  // { dg-error "incomplete" }
15     T foo2a(void) {}
17     void foo3(B b);