1// RUN: %clang_cc1 -fsyntax-only %s
2// rdar://9584012
3
4typedef struct {
5	char *str;
6} Class;
7
8typedef union {
9	Class *object;
10} Instance __attribute__((transparent_union));
11
12__attribute__((nonnull(1))) void Class_init(Instance this, char *str) {
13	this.object->str = str;
14}
15
16int main(void) {
17	Class *obj;
18	Class_init(0, "Hello World"); // expected-warning {{null passed to a callee which requires a non-null argument}}
19	Class_init(obj, "Hello World");
20}
21
22