From 3a36dff306fc01fba889427f91012b9e70d9c942 Mon Sep 17 00:00:00 2001 From: law Date: Thu, 29 Jan 1998 00:47:10 +0000 Subject: * am-alpha.h: Don't include alloca for OPEN_VMS. * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define. * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define. (GCC_INCLUDE_DIR): Define * make-cc.com, make-cccp.com, make-cc1.com: Removed. * makefile.vms: New file. * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha. * alpha.c (output_prolog): Output '.name' directive for minimal traceback information. * alpha.c (output_prolog): Don't prepend entry point symbols with '$' on OPEN_VMS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17546 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/alpha/alpha.c | 16 +++++++++++++--- gcc/config/alpha/vms.h | 2 +- gcc/config/alpha/xm-alpha.h | 2 +- gcc/config/alpha/xm-vms.h | 31 +++++++++++++++++++------------ 4 files changed, 34 insertions(+), 17 deletions(-) (limited to 'gcc/config') diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index c5d132590a7..0484ea64e6f 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -2776,7 +2776,7 @@ output_prolog (file, size) fprintf (file, "\t.ent "); assemble_name (file, alpha_function_name); fprintf (file, "\n"); - sprintf (entry_label, "$%s..en", alpha_function_name); + sprintf (entry_label, "%s..en", alpha_function_name); ASM_OUTPUT_LABEL (file, entry_label); inside_function = TRUE; @@ -2910,10 +2910,20 @@ output_prolog (file, size) fprintf (file, "\t.prologue\n"); + readonly_section (); + fprintf (file, "\t.align 3\n"); + assemble_name (file, alpha_function_name); fputs ("..na:\n", file); + fputs ("\t.ascii \"", file); + assemble_name (file, alpha_function_name); + fputs ("\\0\"\n", file); + link_section (); fprintf (file, "\t.align 3\n"); + fputs ("\t.name ", file); + assemble_name (file, alpha_function_name); + fputs ("..na\n", file); ASM_OUTPUT_LABEL (file, alpha_function_name); - fprintf (file, "\t.pdesc $"); + fprintf (file, "\t.pdesc "); assemble_name (file, alpha_function_name); fprintf (file, "..en,%s\n", is_stack_procedure ? "stack" : "reg"); alpha_need_linkage (alpha_function_name, 1); @@ -4015,7 +4025,7 @@ alpha_write_linkage (stream) if (lptr->kind == KIND_LOCAL) { /* Local and used, build linkage pair. */ - fprintf (stream, "\t.quad $%s..en\n", lptr->name); + fprintf (stream, "\t.quad %s..en\n", lptr->name); fprintf (stream, "\t.quad %s\n", lptr->name); } else diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h index e0bc3349afc..57618907fda 100644 --- a/gcc/config/alpha/vms.h +++ b/gcc/config/alpha/vms.h @@ -31,7 +31,7 @@ Boston, MA 02111-1307, USA. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES \ -"-Dalpha -D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\ +"-D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\ -Asystem(vms) -Acpu(alpha) -Amachine(alpha)" #undef CPP_SPEC diff --git a/gcc/config/alpha/xm-alpha.h b/gcc/config/alpha/xm-alpha.h index 4bf20c0a385..7665127b714 100644 --- a/gcc/config/alpha/xm-alpha.h +++ b/gcc/config/alpha/xm-alpha.h @@ -46,7 +46,7 @@ Boston, MA 02111-1307, USA. */ #if defined(__GNUC__) && !defined(USE_C_ALLOCA) #define alloca __builtin_alloca #else -#if !defined(_WIN32) && !defined(USE_C_ALLOCA) +#if !defined(_WIN32) && !defined(USE_C_ALLOCA) && !defined(OPEN_VMS) #include #else extern void *alloca (); diff --git a/gcc/config/alpha/xm-vms.h b/gcc/config/alpha/xm-vms.h index c96423a6e5a..43ac5b62cfb 100644 --- a/gcc/config/alpha/xm-vms.h +++ b/gcc/config/alpha/xm-vms.h @@ -1,5 +1,5 @@ /* Configuration for GNU C-compiler for openVMS/Alpha. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1997 Free Software Foundation, Inc. Contributed by Klaus Kaempf (kkaempf@progis.de). This file is part of GNU CC. @@ -51,9 +51,23 @@ Boston, MA 02111-1307, USA. */ #define VMS #endif +#define GCC_INCLUDE_DIR "" +/* Specify the list of include file directories. */ +#define INCLUDE_DEFAULTS \ +{ \ + { "GNU_GXX_INCLUDE:", "G++", 1, 1 }, \ + { "GNU_CC_INCLUDE:", "GCC", 0, 0 }, \ + { ".", 0, 0, 1 }, \ + { 0, 0, 0, 0 } \ +} + /* Define a local equivalent (sort of) for unlink */ #define unlink remove + #define NEED_ATEXIT +#define HAVE_VPRINTF +#define HAVE_PUTENV +#define HAVE_STRERROR #define NO_SYS_PARAMS_H /* Don't have */ #define NO_STAB_H /* Don't have */ @@ -63,16 +77,11 @@ Boston, MA 02111-1307, USA. */ #define HAVE_STDLIB_H 1 #define HAVE_UNISTD_H 1 #define HAVE_STRING_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_TIME_H 1 #define STDC_HEADERS 1 - -/* Use ANSI/SYSV style byte manipulation routines instead of BSD ones. */ - -#define bcopy(s,d,n) memcpy((d),(s),(n)) -#define bzero(d,n) memset((d),0,(n)) -#define bcmp(l,r,n) memcmp((l),(r),(n)) - -#define index strchr -#define rindex strrchr +#define HAVE_CPP_STRINGIFY 1 #if __STDC__ extern void *alloca (size_t); @@ -82,5 +91,3 @@ extern char *alloca (unsigned int); #define OBJECT_SUFFIX ".obj" #define EXECUTABLE_SUFFIX ".exe" -#define DIR_SEPARATOR ']' -#define PATH_SEPARATOR ',' -- cgit v1.2.1