aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorDouglas B Rupp <rupp@gnat.com>2009-08-17 16:22:48 +0000
committerDouglas Rupp <rupp@gcc.gnu.org>2009-08-17 16:22:48 +0000
commitdfe6ba6df9b5f5666fc9716ba1fd17c76ede1f2b (patch)
tree40be3062746bd4e771f610017aa30d207110d564 /gcc/config
parentbe274b21f72fc0ecf9dde15b0969ae505d2abb67 (diff)
downloadgcc-dfe6ba6df9b5f5666fc9716ba1fd17c76ede1f2b.zip
gcc-dfe6ba6df9b5f5666fc9716ba1fd17c76ede1f2b.tar.gz
gcc-dfe6ba6df9b5f5666fc9716ba1fd17c76ede1f2b.tar.bz2
alpha.c (vms_valid_pointer_mode): New function.
* config/alpha/alpha.c (vms_valid_pointer_mode): New function. * config/alpha/vms.h (TARGET_VALID_POINTER_MODE): Define. From-SVN: r150849
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/alpha/alpha.c7
-rw-r--r--gcc/config/alpha/vms.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index 8dc9a3e..442dd171 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 *);
@@ -774,6 +775,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)
{
int symlen = strlen (symname);
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index 819dee4..e3781b5 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