17419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo// RUN: %clang_cc1 -fsyntax-only -verify %s 27419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo 37419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufostruct string {}; 47419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo 57419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufoclass StringPiece; // expected-note {{forward declaration of 'StringPiece'}} \ 67419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo // expected-note {{forward declaration of 'StringPiece'}} 77419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo 87419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufostruct Test { 97419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo void expectStringPiece(const StringPiece& blah) {}; // expected-note {{passing argument to parameter 'blah' here}} 107419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo 117419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo void test(const string& s) { 127419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo expectStringPiece(s); // expected-error {{no viable conversion from 'const string' to incomplete type 'const StringPiece'}} 137419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo } 147419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo}; 157419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo 167419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufostruct TestStatic { 177419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo static void expectStringPiece(const StringPiece& blah) {}; // expected-note {{passing argument to parameter 'blah' here}} 187419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo 197419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo static void test(const string& s) { 207419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo expectStringPiece(s); // expected-error {{no viable conversion from 'const string' to incomplete type 'const StringPiece'}} 217419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo } 227419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo}; 237419d013fd2c4dda596066f4864d5c40e85ba330Larisse Voufo 24