diff options
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 4377eac04ad..229846a0bf6 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; + } +} |