* builtin-types.def (BT_CONST_VOLATILE_PTR): New primitive type. (BT_FN_I{1,2,4,8,16}_VPTR_INT): Change prototype to be const. * sync-builtins.def (BUILT_IN_SYNC_MEM_LOAD_*): Change to be const. * fortan/types.def (BUILT_IN_SYNC_MEM_LOAD_*): Change to be const. Index: builtin-types.def =================================================================== *** builtin-types.def (revision 177737) --- builtin-types.def (working copy) *************** DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR, *** 95,100 **** --- 95,104 ---- build_pointer_type (build_qualified_type (void_type_node, TYPE_QUAL_VOLATILE))) + DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR, + build_pointer_type + (build_qualified_type (void_type_node, + TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST))) DEF_PRIMITIVE_TYPE (BT_PTRMODE, (*lang_hooks.types.type_for_mode)(ptr_mode, 0)) DEF_PRIMITIVE_TYPE (BT_INT_PTR, integer_ptr_type_node) DEF_PRIMITIVE_TYPE (BT_FLOAT_PTR, float_ptr_type_node) *************** DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_ *** 315,325 **** BT_BOOL, BT_PTR_LONG, BT_PTR_LONG) DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG) ! DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_INT, BT_I1, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_INT, BT_I2, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_INT, BT_I4, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_INT, BT_I8, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_INT, BT_I16, BT_VOLATILE_PTR, BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT) --- 319,334 ---- BT_BOOL, BT_PTR_LONG, BT_PTR_LONG) DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG) ! DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR, ! BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT) Index: sync-builtins.def =================================================================== *** sync-builtins.def (revision 177737) --- sync-builtins.def (working copy) *************** DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD *** 283,301 **** BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_1, "__sync_mem_load_1", ! BT_FN_I1_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_2, "__sync_mem_load_2", ! BT_FN_I2_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_4, "__sync_mem_load_4", ! BT_FN_I4_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_8, "__sync_mem_load_8", ! BT_FN_I8_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_16, "__sync_mem_load_16", ! BT_FN_I16_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_COMPARE_EXCHANGE_N, "__sync_mem_compare_exchange", --- 283,301 ---- BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_1, "__sync_mem_load_1", ! BT_FN_I1_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_2, "__sync_mem_load_2", ! BT_FN_I2_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_4, "__sync_mem_load_4", ! BT_FN_I4_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_8, "__sync_mem_load_8", ! BT_FN_I8_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_LOAD_16, "__sync_mem_load_16", ! BT_FN_I16_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST) DEF_SYNC_BUILTIN (BUILT_IN_SYNC_MEM_COMPARE_EXCHANGE_N, "__sync_mem_compare_exchange", Index: fortran/types.def =================================================================== *** fortran/types.def (revision 177737) --- fortran/types.def (working copy) *************** DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR, *** 70,76 **** build_pointer_type (build_qualified_type (void_type_node, TYPE_QUAL_VOLATILE))) ! DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG) DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG) DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR) --- 70,79 ---- build_pointer_type (build_qualified_type (void_type_node, TYPE_QUAL_VOLATILE))) ! DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR, ! build_pointer_type ! (build_qualified_type (void_type_node, ! TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST))) DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG) DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG) DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR) *************** DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, B *** 100,110 **** DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8) DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16) DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR) ! DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_INT, BT_I1, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_INT, BT_I2, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_INT, BT_I4, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_INT, BT_I8, BT_VOLATILE_PTR, BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_INT, BT_I16, BT_VOLATILE_PTR, BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT) --- 103,118 ---- DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8) DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16) DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR) ! DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR, ! BT_INT) ! DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR, ! BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT) DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)