13883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// RUN: %clang_cc1 -emit-llvm %s -o /dev/null 23883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 33883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christophertypedef struct 43883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher{ 53883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher void *stack; 63883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher unsigned size; 73883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher unsigned avail; 83883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} compile_stack_type; 93883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 103883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christophervoid foo(void*); 113883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christophervoid bar(compile_stack_type T, unsigned); 123883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 133883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christophervoid test() { 143883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher compile_stack_type CST; 153883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher foo(&CST); 163883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 173883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher bar(CST, 12); 183883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 19