diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6dc1f55a7b8..953397efbb5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-08-17 Douglas B Rupp + + * config/alpha/alpha.c (vms_valid_pointer_mode): New function. + * config/alpha/vms.h (TARGET_VALID_POINTER_MODE): Define. + 2009-08-16 Douglas B Rupp * doc/invoke.texi (Target options): diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 8dc9a3e68cf..442dd171342 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -200,6 +200,7 @@ static rtx alpha_emit_xfloating_compare (enum rtx_code *, rtx, rtx); #if TARGET_ABI_OPEN_VMS static void alpha_write_linkage (FILE *, const char *, tree); +static bool vms_valid_pointer_mode (enum machine_mode); #endif static void unicosmk_output_deferred_case_vectors (FILE *); @@ -773,6 +774,12 @@ alpha_in_small_data_p (const_tree exp) } #if TARGET_ABI_OPEN_VMS +static bool +vms_valid_pointer_mode (enum machine_mode mode) +{ + return (mode == SImode || mode == DImode); +} + static bool alpha_linkage_symbol_p (const char *symname) { diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h index 819dee449a3..e3781b57163 100644 --- a/gcc/config/alpha/vms.h +++ b/gcc/config/alpha/vms.h @@ -394,3 +394,6 @@ typedef struct crtl_name_spec #define INIT_SECTION_ASM_OP "\t.section LIB$INITIALIZE,GBL,NOWRT" #define LONGLONG_STANDALONE 1 + +#undef TARGET_VALID_POINTER_MODE +#define TARGET_VALID_POINTER_MODE vms_valid_pointer_mode