diff options
author | Tristan Gingold <gingold@adacore.com> | 2011-06-27 12:51:09 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@gcc.gnu.org> | 2011-06-27 12:51:09 +0000 |
commit | db8b22ef4925f80ce5cabb585852896548f78c7e (patch) | |
tree | 13f91471f1f0706179d3d23de8d17a9151cb080c /gcc/config/alpha | |
parent | b213221d256fa5e5732756d4814e48c9ef09df93 (diff) | |
download | gcc-db8b22ef4925f80ce5cabb585852896548f78c7e.zip gcc-db8b22ef4925f80ce5cabb585852896548f78c7e.tar.gz gcc-db8b22ef4925f80ce5cabb585852896548f78c7e.tar.bz2 |
re PR target/44241 (vms-crtl.h, vms-crtl-64.h need many more symbols)
2011-06-27 Tristan Gingold <gingold@adacore.com>
PR target/44241
* config/vms/vms-protos.h: New file.
* config/vms/vms-crtlmap.map: New file.
* config/vms/vms.c: New file.
* config/vms/make-crtlmap.awk: New file.
* config/vms/vms-crtl.h: File removed.
* config/vms/vms-crtl-64.h: File removed.
* config/vms/t-vms (vms-crtlmap.h, vms.o): New targets.
* config/alpha/vms64.h: Do not include vms-crtl-64.h
* config/alpha/alpha.c (alpha_init_builtins): Remove code to
clear some builtins on VMS. Calls vms_patch_builtins.
(avms_asm_output_external): Remove.
* config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Remove.
(struct crtl_name_spec): Remove
(DO_CTRL_NAMES): Remove.
* config/ia64/vms.h (struct crtl_name_spec): Remove
(DO_CTRL_NAMES): Remove.
* config/ia64/ia64.c (alpha_init_builtins): Remove code to
clear some builtins on VMS. Calls vms_patch_builtins.
(ia64_asm_output_external): Remove DO_CRTL_NAME.
* config/ia64/vms64.h: Do not include vms-crtl-64.h
* config.gcc (*-*-*vms*): Define extra_objs, target_gtfiles,
tm_p_file.
From-SVN: r175523
Diffstat (limited to 'gcc/config/alpha')
-rw-r--r-- | gcc/config/alpha/alpha.c | 17 | ||||
-rw-r--r-- | gcc/config/alpha/vms.h | 49 | ||||
-rw-r--r-- | gcc/config/alpha/vms64.h | 2 |
3 files changed, 2 insertions, 66 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 510c1a8..5d656f1 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -6367,12 +6367,6 @@ alpha_init_builtins (void) dimode_integer_type_node = lang_hooks.types.type_for_mode (DImode, 0); - /* Fwrite on VMS is non-standard. */ -#if TARGET_ABI_OPEN_VMS - implicit_built_in_decls[(int) BUILT_IN_FWRITE] = NULL_TREE; - implicit_built_in_decls[(int) BUILT_IN_FWRITE_UNLOCKED] = NULL_TREE; -#endif - ftype = build_function_type_list (dimode_integer_type_node, NULL_TREE); alpha_add_builtins (zero_arg_builtins, ARRAY_SIZE (zero_arg_builtins), ftype); @@ -6409,6 +6403,8 @@ alpha_init_builtins (void) NULL_TREE); alpha_builtin_function ("__builtin_revert_vms_condition_handler", ftype, ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER, 0); + + vms_patch_builtins (); } alpha_v8qi_u = build_vector_type (unsigned_intQI_type_node, 8); @@ -8169,15 +8165,6 @@ alpha_end_function (FILE *file, const char *fnname, tree decl ATTRIBUTE_UNUSED) inside_function = FALSE; } -#if TARGET_ABI_OPEN_VMS -void avms_asm_output_external (FILE *file, tree decl ATTRIBUTE_UNUSED, const char *name) -{ -#ifdef DO_CRTL_NAMES - DO_CRTL_NAMES; -#endif -} -#endif - #if TARGET_ABI_OSF /* Emit a tail call to FUNCTION after adjusting THIS by DELTA. diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h index f730ea1..fc74c23 100644 --- a/gcc/config/alpha/vms.h +++ b/gcc/config/alpha/vms.h @@ -225,55 +225,6 @@ typedef struct {int num_args; enum avms_arg_type atypes[6];} avms_arg_info; #define LINK_EH_SPEC "vms-dwarf2eh.o%s " #define LINK_GCC_C_SEQUENCE_SPEC "%G" -#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ - avms_asm_output_external (FILE, DECL, NAME) - -typedef struct crtl_name_spec -{ - const char *const name; - const char *deccname; - int referenced; -} crtl_name_spec; - -#include "config/vms/vms-crtl.h" - -/* Alias CRTL names to 32/64bit DECCRTL functions. - Fixme: This should do a binary search. */ -#define DO_CRTL_NAMES \ - do \ - { \ - int i; \ - static crtl_name_spec vms_crtl_names[] = CRTL_NAMES; \ - static int malloc64_init = 0; \ - \ - if ((malloc64_init == 0) && TARGET_MALLOC64) \ - { \ - for (i=0; vms_crtl_names [i].name; i++) \ - { \ - if (strcmp ("calloc", vms_crtl_names [i].name) == 0) \ - vms_crtl_names [i].deccname = "decc$_calloc64"; \ - else \ - if (strcmp ("malloc", vms_crtl_names [i].name) == 0) \ - vms_crtl_names [i].deccname = "decc$_malloc64"; \ - else \ - if (strcmp ("realloc", vms_crtl_names [i].name) == 0) \ - vms_crtl_names [i].deccname = "decc$_realloc64"; \ - else \ - if (strcmp ("strdup", vms_crtl_names [i].name) == 0) \ - vms_crtl_names [i].deccname = "decc$_strdup64"; \ - } \ - malloc64_init = 1; \ - } \ - for (i=0; vms_crtl_names [i].name; i++) \ - if (!vms_crtl_names [i].referenced && \ - (strcmp (name, vms_crtl_names [i].name) == 0)) \ - { \ - fprintf (file, "\t%s=%s\n", \ - name, vms_crtl_names [i].deccname); \ - vms_crtl_names [i].referenced = 1; \ - } \ - } while (0) - /* This is how to output an assembler line that says to advance the location counter to a multiple of 2**LOG bytes. */ diff --git a/gcc/config/alpha/vms64.h b/gcc/config/alpha/vms64.h index 07424d0..495d3c6 100644 --- a/gcc/config/alpha/vms64.h +++ b/gcc/config/alpha/vms64.h @@ -49,5 +49,3 @@ along with GCC; see the file COPYING3. If not see /* Defaults to "long int" */ #undef SIZE_TYPE #undef PTRDIFF_TYPE - -# include "config/vms/vms-crtl-64.h" |