1 // RUN: %clang_cc1 %s -triple i686-pc-win32 -fsyntax-only -verify -fms-compatibility -Wno-microsoft -Wmicrosoft-template-shadow
2 
3 template <typename T> // expected-note {{template parameter is declared here}}
4 struct Outmost {
5   template <typename T> // expected-warning {{declaration of 'T' shadows template parameter}}
6   struct Inner {
fOutmost::Inner7     void f() {
8       T *var;
9     }
10   };
11 };
12