1b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor/* Used with the types.c test */ 2b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 36d473967121ac70ecede83bb2b47247e9a3766f3Douglas Gregor// TYPE_EXT_QUAL 46d473967121ac70ecede83bb2b47247e9a3766f3Douglas Gregortypedef __attribute__((address_space(1))) int ASInt; 56d473967121ac70ecede83bb2b47247e9a3766f3Douglas Gregor 6b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_COMPLEX 7b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef _Complex float Cfloat; 8b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 9dbc68bd28d5868f3b1b5179add40b33cec7bea07Eli Friedman// TYPE_ATOMIC 10dbc68bd28d5868f3b1b5179add40b33cec7bea07Eli Friedmantypedef _Atomic(int) AtomicInt; 11dbc68bd28d5868f3b1b5179add40b33cec7bea07Eli Friedman 12b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_POINTER 13b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef int * int_ptr; 14b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 15b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_BLOCK_POINTER 16b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef int (^Block)(int, float); 17b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 18b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_CONSTANT_ARRAY 19b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef int five_ints[5]; 20b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 21b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_INCOMPLETE_ARRAY 22b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef float float_array[]; 23b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 24ba48d05c9c43dca8efa49d70ad3331fdcd6e2b3aDouglas Gregor// TYPE_VARIABLE_ARRAY in stmts.[ch] 25b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 26b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_VECTOR 27b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef float float4 __attribute__((vector_size(16))); 28b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 29b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_EXT_VECTOR 30b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef float ext_float4 __attribute__((ext_vector_type(4))); 31b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 32b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_FUNCTION_NO_PROTO 33b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef int noproto(); 34b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 35b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_FUNCTION_PROTO 36b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef float proto(float, float, ...); 37b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 38b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_TYPEDEF 39b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef int_ptr * int_ptr_ptr; 40b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 410b7489194f9f89fac39d57211c1e7953ae50251fDouglas Gregor// TYPE_TYPEOF_EXPR 420b7489194f9f89fac39d57211c1e7953ae50251fDouglas Gregortypedef typeof(17) typeof_17; 43b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor 44b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregor// TYPE_TYPEOF 45b4e715beeb670b30a8d1237085e3379fe28afb0fDouglas Gregortypedef typeof(int_ptr *) int_ptr_ptr2; 46400f5125e2432d648f2c8a31b36a7f318a880c47Argyrios Kyrtzidis 47400f5125e2432d648f2c8a31b36a7f318a880c47Argyrios Kyrtzidisstruct S2; 48400f5125e2432d648f2c8a31b36a7f318a880c47Argyrios Kyrtzidisstruct S2 {}; 49400f5125e2432d648f2c8a31b36a7f318a880c47Argyrios Kyrtzidisenum E; 50400f5125e2432d648f2c8a31b36a7f318a880c47Argyrios Kyrtzidisenum E { myenum }; 51