diff options
author | Tristan Gingold <gingold@adacore.com> | 2012-03-12 11:58:16 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@gcc.gnu.org> | 2012-03-12 11:58:16 +0000 |
commit | d8aba32a0959169d00b9d89b28f6d4ccc4763be8 (patch) | |
tree | 6fb6df38c14e64460a642d25c2d284aef453c48a /gcc/config/vms/vms-c.c | |
parent | 10ee90e9fe6751acde4f9de329eeb8c4460cf39d (diff) | |
download | gcc-d8aba32a0959169d00b9d89b28f6d4ccc4763be8.zip gcc-d8aba32a0959169d00b9d89b28f6d4ccc4763be8.tar.gz gcc-d8aba32a0959169d00b9d89b28f6d4ccc4763be8.tar.bz2 |
vms.opt: Add vms-opts.h header.
2012-03-12 Tristan Gingold <gingold@adacore.com>
* config/vms/vms.opt: Add vms-opts.h header.
(mmalloc64): Use flag_vms_malloc64 flag instead of MALLOC64
target mask.
(-mvms-return-codes): Document.
(-mpointer-size): New option.
(vms_pointer_size): Add enumeration.
* config/vms/vms-opts.h: New file.
* config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
__INITIAL_POINTER_SIZE.
(POINTER_SIZE, SIZE_TYPE, PTRDIFF_TYPE): Adjust definition.
(C_COMMON_OVERRIDE_OPTIONS): Define.
(DWARF2_ADDR_SIZE): Define.
* config/vms/vms.c (vms_patch_builtins): Adjust condition.
* config/vms/vms-protos.h (vms_c_common_override_options):
New prototype.
* config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
if -mno-pointer-size.
(vms_c_common_override_options): New function.
* config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
* config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
(MALLOC_ABI_ALIGNMENT): Use flag_vms_malloc64
and flag_vms_pointer_size.
(MASK_RETURN_ADDR): Set according to flag_vms_pointer_size.
* config.gcc (*-*-*vms*): Define xm_file.
(alpha*-dec-*vms*): Do not define xm_file.
(alpha64-dec-*vms*): Remove.
(ia64-hp-*vms*): Do not define xm_file. Simplify tm_file
and tmake_file.
libgcc/
2012-03-12 Tristan Gingold <gingold@adacore.com>
* config/alpha/t-vms: Define HOST_LIBGCC2_CFLAGS.
* config/ia64/t-vms: Likewise.
gcc/ada/
2012-03-12 Tristan Gingold <gingold@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
instead of TARGET_MALLOC64.
* gcc-interface/gigi.h (flag_vms_malloc64): Define instead
of TARGET_MALLOC64.
From-SVN: r185224
Diffstat (limited to 'gcc/config/vms/vms-c.c')
-rw-r--r-- | gcc/config/vms/vms-c.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/gcc/config/vms/vms-c.c b/gcc/config/vms/vms-c.c index 4377eac..229846a 100644 --- a/gcc/config/vms/vms-c.c +++ b/gcc/config/vms/vms-c.c @@ -335,8 +335,8 @@ handle_pragma_pointer_size (const char *pragma_name) static void vms_pragma_pointer_size (cpp_reader * ARG_UNUSED (dummy)) { - /* Ignore if 32 bit only. */ - if (POINTER_SIZE != 64) + /* Ignore if no -mpointer-size option. */ + if (flag_vms_pointer_size == VMS_POINTER_SIZE_NONE) return; handle_pragma_pointer_size ("pointer_size"); @@ -449,3 +449,20 @@ vms_c_register_includes (const char *sysroot, } } } + +void +vms_c_common_override_options (void) +{ + /* Initialize c_default_pointer_mode. */ + switch (flag_vms_pointer_size) + { + case VMS_POINTER_SIZE_NONE: + break; + case VMS_POINTER_SIZE_32: + c_default_pointer_mode = SImode; + break; + case VMS_POINTER_SIZE_64: + c_default_pointer_mode = DImode; + break; + } +} |