summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorrupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-17 16:22:48 +0000
committerrupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-17 16:22:48 +0000
commit656ad977b1f56d8f21d51cc0b7dd02dc3f49504e (patch)
tree40be3062746bd4e771f610017aa30d207110d564 /gcc/config
parent82c99fed0bc6e5fa379a28a84d281abf1ac71aa8 (diff)
downloadgcc-656ad977b1f56d8f21d51cc0b7dd02dc3f49504e.tar.gz
* config/alpha/alpha.c (vms_valid_pointer_mode): New function.
* config/alpha/vms.h (TARGET_VALID_POINTER_MODE): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150849 138bc75d-0d04-0410-961f-82ee72b054a4
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 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 *);
@@ -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 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