30 lines
575 B
C
30 lines
575 B
C
|
// RUN: %clang_cc1 %s -fsyntax-only -verify
|
||
|
// expected-no-diagnostics
|
||
|
// rdar:// 9129552
|
||
|
// PR9406
|
||
|
|
||
|
typedef struct {
|
||
|
char *str;
|
||
|
char *str2;
|
||
|
} Class;
|
||
|
|
||
|
typedef union {
|
||
|
Class *object;
|
||
|
} Instance __attribute__((transparent_union));
|
||
|
|
||
|
__attribute__((overloadable)) void Class_Init(Instance this, char *str, void *str2) {
|
||
|
this.object->str = str;
|
||
|
this.object->str2 = str2;
|
||
|
}
|
||
|
|
||
|
__attribute__((overloadable)) void Class_Init(Instance this, char *str) {
|
||
|
this.object->str = str;
|
||
|
this.object->str2 = str;
|
||
|
}
|
||
|
|
||
|
int main(void) {
|
||
|
Class obj;
|
||
|
Class_Init(&obj, "Hello ", " World");
|
||
|
}
|
||
|
|