1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// RUN: %clang_cc1 -fsyntax-only -verify %s 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.comtemplate<typename T> struct S { 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com S(int); 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com}; 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.comstruct T; // expected-note{{forward declaration of 'T'}} 7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comvoid f() { 9d3ae77965e94e0efda496f5461cbec4533cb5b16vandebo@chromium.org S<int> s0 = static_cast<S<int> >(0); 108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com S<void*> s1 = static_cast<S<void*> >(00); 118b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org 128b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org (void)static_cast<T>(10); // expected-error{{'T' is an incomplete type}} 138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com} 14f2b98d67dcb6fcb3120feede9c72016fc7b3ead8reed@android.com