// RUN: %clang_cc1 -triple x86_64-pc-linux -Wno-strict-prototypes -fsyntax-only -verify -emit-llvm-only %s
void ;
void
void ; // expected-error {{alias must point to a defined variable or function}}
void ; // expected-error {{alias must point to a defined variable or function}}
void ;
void ;
void
void ;
void ;
void ;
void
void
void ;
void ;
void
void ;
void ;
void ;
void
void ;
void ;
void ;
void
void ; // expected-error {{alias definition is part of a cycle}}
void ; // expected-error {{alias definition is part of a cycle}}
// FIXME: This could be a bit better, h10 is not part of the cycle, it points
// to it.
void ; // expected-error {{alias definition is part of a cycle}}
extern int a1 ;
int b1 = 42;
extern int a2 ; // expected-error {{alias must point to a defined variable or function}}
extern int a3 ; // expected-error {{alias must point to a defined variable or function}}
extern int b3;
extern int a4 ; // expected-error {{alias must point to a defined variable or function}}
typedef int b4;
void
void ;
void ; // expected-warning {{alias will always resolve to test2_bar even if weak definition of test2_foo is overridden}}
void
void ; // expected-warning {{alias will not be in section 'test' but in the same section as the aliasee}}
void ;
void
void ;
void ;
int test5_bar = 0;
extern struct incomplete_type test5_foo ;