| // 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"); |
| } |
| |