// RUN: %clang_cc1 -fsyntax-only -verify %s
// RUN: %clang_cc1 -fsyntax-only -verify -Wretained-language-linkage -DW_RETAINED_LANGUAGE_LINKAGE %s
extern "C"
extern "C++"
double& ;
void
extern "C" int foo;
extern "C" int foo;
extern "C" const int bar;
extern "C" int const bar;
// <rdar://problem/6895431>
extern "C" struct bar d;
extern struct bar e;
extern "C++"
// PR5430
using namespace pr5430;
extern "C" void
// PR5405
int
extern "C"
// PR6991
extern "C" typedef int ;
// PR7859
extern "C" void // expected-note {{previous definition}}
extern "C" void // expected-error {{redefinition}}
extern "C" void // expected-note {{previous definition}}
extern "C" void // expected-error {{conflicting}}
extern "C" void // expected-note {{previous definition}}
extern "C" void // expected-error {{conflicting}}
// <rdar://problem/8318976>
extern "C"
//PR7754
extern "C++" int ;
extern "C++" using N::value;
// PR7076
extern "C" const char *Version_string = "2.9";
extern "C"
extern "C" void PR16167; // expected-error {{variable has incomplete type 'void'}}
extern void PR16167_0; // expected-error {{variable has incomplete type 'void'}}
// PR7927
;
extern "C" void ;
void