1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Test this without pch. 2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -include %S/struct.h -fsyntax-only -verify %s 3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Test with pch. 5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -emit-pch -o %t %S/struct.h 6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -include-pch %t -fsyntax-only -verify %s 7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Point *p1; 9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaofloat getX(struct Point *p1) { 11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return p1->x; 12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid *get_fun_ptr() { 15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return fun->is_ptr? fun->ptr : 0; 16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Fun2 { 19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao int very_fun; 20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}; 21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint get_very_fun() { 23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao return fun2->very_fun; 24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao} 25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint *int_ptr_fail = &fun->is_ptr; // expected-error{{address of bit-field requested}} 27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao 28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Nested nested = { 1, 2 }; 29