14ee2ad04344446e610172a0e73949212923014dfSebastian Redl/* Used with the types.c test */ 22cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor 32cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor// TYPE_EXT_QUAL 42cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregortypedef __attribute__((address_space(1))) int ASInt; 52cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor 62cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor// TYPE_COMPLEX 72cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregortypedef _Complex float Cfloat; 82cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor 92cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor// TYPE_ATOMIC 10a4232eb646d89e7d52424bb42eb87d9061f39e63Sebastian Redltypedef _Atomic(int) AtomicInt; 112cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor 122cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor// TYPE_POINTER 132cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregortypedef int * int_ptr; 147faa2ec03a7ef120ac165bb45b6c70a8b20c9f1cSebastian Redl 1589d9980bbc2e4a4ac86673e6ec16fb9f5babb63bDouglas Gregor// TYPE_BLOCK_POINTER 160eca89e9890db4d8336ce762a5b359a1d58ca02bArgyrios Kyrtzidistypedef int (^Block)(int, float); 17e737f5041a36d0befb39ffeed8d50ba15916d3daDouglas Gregor 18e737f5041a36d0befb39ffeed8d50ba15916d3daDouglas Gregor// TYPE_CONSTANT_ARRAY 192cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregortypedef int five_ints[5]; 202cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor 212cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor// TYPE_INCOMPLETE_ARRAY 222a7fb27913999d132cf9e10e03dc5271faa2e9d3John McCalltypedef float float_array[]; 2389eaf3af92c72c0c1aae807644e39cabc461d685Argyrios Kyrtzidis 240b7489194f9f89fac39d57211c1e7953ae50251fDouglas Gregor// TYPE_VARIABLE_ARRAY in stmts.[ch] 257a1fad38256eb4c5129359be85ba1ea1678eb5c9John McCall 262cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor// TYPE_VECTOR 27a1ee0c548b8aa4aaf93d1917e304e3da13171a08John McCalltypedef float float4 __attribute__((vector_size(16))); 286ab7cd853e9c15cf986a8a7c3db1f8d20e275409Sebastian Redl 297c5d24efcd2e505b5739f7def08dfe25ce59a1b2Chris Lattner// TYPE_EXT_VECTOR 306a5a23f8e7fb65e028c8092bc1d1a1d9dfe2e9bcDouglas Gregortypedef float ext_float4 __attribute__((ext_vector_type(4))); 317c5d24efcd2e505b5739f7def08dfe25ce59a1b2Chris Lattner 3283d63c78810556d26b62ac4cbae2eda6cdd2570cSteve Naroff// TYPE_FUNCTION_NO_PROTO 3314f79002e58556798e86168c63e48d533287eda5Douglas Gregortypedef int noproto(); 3410e286aa8d39fb51a21412850265d9dae74613eeChris Lattner 353251ceb90b3fec68e86d6dcfa58836e20a7205c3Douglas Gregor// TYPE_FUNCTION_PROTO 3614f79002e58556798e86168c63e48d533287eda5Douglas Gregortypedef float proto(float, float, ...); 37bd94500d3aa60092fb0f1e90f53fb0d03fa502a8Douglas Gregor 382bec0410d268779f601bd509e0302a500af7ac6aDouglas Gregor// TYPE_TYPEDEF 39ab41e63821dc60ad144d0684df8d79a9eef86b75Douglas Gregortypedef int_ptr * int_ptr_ptr; 400a0d2b179085a52c10402feebeb6db8b4d96a140Douglas Gregor 4117fc223395d51be582fc666bb6ea21bd1dff26dcDouglas Gregor// TYPE_TYPEOF_EXPR 4217fc223395d51be582fc666bb6ea21bd1dff26dcDouglas Gregortypedef typeof(17) typeof_17; 432596e429a61602312bdd149786045b8a90cd2d10Daniel Dunbar 442cf2634ffdb4f7c8d46cef3f8e60a55993f1c57aDouglas Gregor// TYPE_TYPEOF 45fbfd180495e7800975c6d9bdc6d24e706ef70e34Michael J. Spencertypedef typeof(int_ptr *) int_ptr_ptr2; 4614f79002e58556798e86168c63e48d533287eda5Douglas Gregor 4703013fa9a0bf1ef4b907f5fec006c8f4000fdd21Michael J. Spencerstruct S2; 48f62d43d2afe1960755a1b5813cae1e5983bcac1bDouglas Gregorstruct S2 {}; 493c304bd9ec2b4611572d4cbae9e1727bbecb5dc9Chris Lattnerenum E; 50cfbf1c7536e016dc275139dd842d4a5f059a749fDouglas Gregorenum E { myenum }; 51f62d43d2afe1960755a1b5813cae1e5983bcac1bDouglas Gregor