Index: gcc/gcc/config/alpha/vms64.h |
diff --git a/gcc/gcc/config/alpha/vms64.h b/gcc/gcc/config/alpha/vms64.h |
index 99b338a40f4596d9b6a4d2f6d563bc4e7acde2d1..07424d0f2924876b8e459539e67fe82668333dc3 100644 |
--- a/gcc/gcc/config/alpha/vms64.h |
+++ b/gcc/gcc/config/alpha/vms64.h |
@@ -1,5 +1,5 @@ |
/* Output variables, constants and external declarations, for GNU compiler. |
- Copyright (C) 2001, 2007 Free Software Foundation, Inc. |
+ Copyright (C) 2001, 2007, 2009 Free Software Foundation, Inc. |
Contributed by Douglas Rupp (rupp@gnat.com). |
This file is part of GCC. |
@@ -18,14 +18,36 @@ You should have received a copy of the GNU General Public License |
along with GCC; see the file COPYING3. If not see |
<http://www.gnu.org/licenses/>. */ |
-/* Defaults to BITS_PER_WORD, e.g. 64 which is what is wanted. |
- This is incompatible with DEC C, but matches DEC Ada */ |
+#undef TARGET_OS_CPP_BUILTINS |
+#define TARGET_OS_CPP_BUILTINS() \ |
+ do { \ |
+ builtin_define_std ("vms"); \ |
+ builtin_define_std ("VMS"); \ |
+ builtin_define ("__ALPHA"); \ |
+ builtin_assert ("system=vms"); \ |
+ builtin_define ("__IEEE_FLOAT"); \ |
+ builtin_define ("__LONG_POINTERS=1"); \ |
+ } while (0) |
+ |
+#undef SUBTARGET_SWITCHES |
+#define SUBTARGET_SWITCHES \ |
+ { "malloc64", MASK_MALLOC64, "Malloc data into P2 space" }, |
+ |
+#undef TARGET_DEFAULT |
+#define TARGET_DEFAULT (MASK_FPREGS | MASK_GAS | MASK_MALLOC64) |
+ |
#undef LONG_TYPE_SIZE |
+#define LONG_TYPE_SIZE 64 |
+ |
+#undef POINTER_SIZE |
+#define POINTER_SIZE 64 |
+ |
+/* Eventhough pointers are 64bits, only 32bit ever remain significant in code |
+ addresses. */ |
+#define MASK_RETURN_ADDR (GEN_INT (0xffffffff)) |
/* Defaults to "long int" */ |
#undef SIZE_TYPE |
#undef PTRDIFF_TYPE |
-#undef POINTERS_EXTEND_UNSIGNED |
-#undef POINTER_SIZE |
-#define POINTER_SIZE 64 |
+# include "config/vms/vms-crtl-64.h" |