1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaotemplate<typename T> struct S { 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao S(int); 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}; 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct T; // expected-note{{forward declaration of 'T'}} 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid f() { 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao S<int> s0 = static_cast<S<int> >(0); 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao S<void*> s1 = static_cast<S<void*> >(00); 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao (void)static_cast<T>(10); // expected-error{{'T' is an incomplete type}} 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 14