gcc.c (DELETE_IF_ORDINARY): New macro default definition.
* gcc.c (DELETE_IF_ORDINARY): New macro default definition. (delete_if_ordinary): Use above macro. * config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition. Update copyright. * doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro. * libiberty/mkstemps.c (mkstemps) [VMS]: Remove special open option. Update copyright. From-SVN: r81290
This commit is contained in:
parent
d935a36e27
commit
8fd583973e
@ -1,3 +1,11 @@
|
||||
2004-04-29 Douglas B Rupp <rupp@gnat.com>
|
||||
|
||||
* gcc.c (DELETE_IF_ORDINARY): New macro default definition.
|
||||
(delete_if_ordinary): Use above macro.
|
||||
* config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
|
||||
Update copyright.
|
||||
* doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
|
||||
|
||||
2004-04-29 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* c-decl.c (get_parm_info): Use the correct tag keywords when
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Configuration for GNU C-compiler for openVMS/Alpha.
|
||||
Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 2001, 2004 Free Software Foundation, Inc.
|
||||
Contributed by Klaus Kaempf (kkaempf@progis.de).
|
||||
|
||||
This file is part of GCC.
|
||||
@ -43,3 +43,15 @@ Boston, MA 02111-1307, USA. */
|
||||
#define HOST_OBJECT_SUFFIX ".obj"
|
||||
|
||||
#define DUMPFILE_FORMAT "_%02d_"
|
||||
|
||||
#define DELETE_IF_ORDINARY(NAME,ST,VERBOSE_FLAG) \
|
||||
do \
|
||||
{ \
|
||||
while (stat (NAME, &ST) >= 0 && S_ISREG (ST.st_mode)) \
|
||||
if (unlink (NAME) < 0) \
|
||||
{ \
|
||||
if (VERBOSE_FLAG) \
|
||||
perror_with_name (NAME); \
|
||||
break; \
|
||||
} \
|
||||
} while (0)
|
||||
|
@ -147,6 +147,15 @@ unique to each dump file kind, e.g. @samp{rtl}.
|
||||
|
||||
If you do not define this macro, GCC will use @samp{.%02d.}. You should
|
||||
define this macro if using the default will create an invalid file name.
|
||||
|
||||
@item DELETE_IF_ORDINARY
|
||||
Define this macro to be a C statement (sans semicolon) that performs
|
||||
host-dependent removal of ordinary temp files in the compilation driver.
|
||||
|
||||
If you do not define this macro, GCC will use the default version. You
|
||||
should define this macro if the default version does not reliably remove
|
||||
the temp file as, for example, on VMS which allows multiple versions
|
||||
of a file.
|
||||
@end ftable
|
||||
|
||||
@node Host Misc
|
||||
|
16
gcc/gcc.c
16
gcc/gcc.c
@ -2245,6 +2245,17 @@ record_temp_file (const char *filename, int always_delete, int fail_delete)
|
||||
|
||||
/* Delete all the temporary files whose names we previously recorded. */
|
||||
|
||||
#ifndef DELETE_IF_ORDINARY
|
||||
#define DELETE_IF_ORDINARY(NAME,ST,VERBOSE_FLAG) \
|
||||
do \
|
||||
{ \
|
||||
if (stat (NAME, &ST) >= 0 && S_ISREG (ST.st_mode)) \
|
||||
if (unlink (NAME) < 0) \
|
||||
if (VERBOSE_FLAG) \
|
||||
perror_with_name (NAME); \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
static void
|
||||
delete_if_ordinary (const char *name)
|
||||
{
|
||||
@ -2261,10 +2272,7 @@ delete_if_ordinary (const char *name)
|
||||
|
||||
if (i == 'y' || i == 'Y')
|
||||
#endif /* DEBUG */
|
||||
if (stat (name, &st) >= 0 && S_ISREG (st.st_mode))
|
||||
if (unlink (name) < 0)
|
||||
if (verbose_flag)
|
||||
perror_with_name (name);
|
||||
DELETE_IF_ORDINARY (name, st, verbose_flag);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1,3 +1,8 @@
|
||||
2004-04-29 Douglas B Rupp <rupp@gnat.com>
|
||||
|
||||
* mkstemps.c (mkstemps) [VMS]: Remove special open option. Update
|
||||
copyright.
|
||||
|
||||
2004-04-26 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
|
||||
|
||||
* configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1992, 1996, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991, 1992, 1996, 1998, 2004 Free Software Foundation, Inc.
|
||||
This file is derived from mkstemp.c from the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -121,11 +121,7 @@ mkstemps (template, suffix_len)
|
||||
v /= 62;
|
||||
XXXXXX[5] = letters[v % 62];
|
||||
|
||||
#ifdef VMS
|
||||
fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600, "fop=tmd");
|
||||
#else
|
||||
fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600);
|
||||
#endif
|
||||
if (fd >= 0)
|
||||
/* The file does not exist. */
|
||||
return fd;
|
||||
|
Loading…
Reference in New Issue
Block a user