161c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor// RUN: %clang_cc1 -fsyntax-only -verify %s 28e8fb3be5bd78f0564444eca02b404566a5f3b5dAndy Gibbs// expected-no-diagnostics 361c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor 461c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor// <rdar://problem/9168556> 561c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregortypedef struct Point Point; 661c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor 761c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregornamespace NameSpace { 861c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor class Point; 961c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor} 1061c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor 1161c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregorusing namespace NameSpace; 1261c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor 1361c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregorclass Test 1461c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor{ 1561c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregorpublic: 1661c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor struct Point { }; 1761c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor virtual bool testMethod (Test::Point& p) = 0; 1861c6c4415d0f73bd033128ac85f054a0211e7c42Douglas Gregor}; 1993b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregor 2093b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregor// PR8151 2193b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregornamespace A { struct Face {}; } 2293b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregornamespace B { struct Face {}; } 2393b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregorusing namespace A; 2493b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregorusing namespace B; 2593b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregor 2693b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregorclass C { 2793b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregor struct Face; 2893b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregor Face *mFaces; 2993b6bceb0f009942e8a9e97d8c5c316ad10338f2Douglas Gregor}; 30