diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-26 06:46:23 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-26 06:46:23 +0000 |
commit | 096b7869bba988e875a65cb59d53f27ac3762f08 (patch) | |
tree | 98a5ab29c6fd8865f91450932609ba96a84611c1 /libiberty | |
parent | c84903abd9f45fc17648294d062f71f782dc402a (diff) | |
download | gcc-096b7869bba988e875a65cb59d53f27ac3762f08.tar.gz |
2009-05-26 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r147859
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@147861 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 21 | ||||
-rw-r--r-- | libiberty/config.h-vms | 22 | ||||
-rw-r--r-- | libiberty/cp-demangle.c | 8 | ||||
-rw-r--r-- | libiberty/makefile.vms | 18 | ||||
-rw-r--r-- | libiberty/pex-win32.c | 17 |
5 files changed, 56 insertions, 30 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 13c7fd5dd1f..850979abb9a 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,24 @@ +2009-05-25 Tristan Gingold <gingold@adacore.com> + + * config.h-vms: Rewritten. Define configure macros. + Use DEC-C builtin alloca. + + * makefile.vms (OBJS): Update list. + (OPT): New variable. + (CFLAGS): Update compilation flags. + (libiberty.olb): Do not depend on alloca-conf.h anymore. + +2009-05-19 Ian Lance Taylor <iant@google.com> + Ben Elliston <bje@au.ibm.com> + + * cp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug. + (cplus_demangle_fill_dtor): Likewise. + +2009-05-17 Julian Brown <julian@codesourcery.com> + + * pex-win32.c (pex_win32_exec_child): Fix logic to avoid closing + standard handles (stdin, stdout, stderr) in parent. + 2009-04-29 Julian Brown <julian@codesourcery.com> * pex-win32.c (pex_win32_pipe): Add _O_NOINHERIT. diff --git a/libiberty/config.h-vms b/libiberty/config.h-vms index ccac6a2bcc7..d84453101e8 100644 --- a/libiberty/config.h-vms +++ b/libiberty/config.h-vms @@ -1,13 +1,11 @@ -#ifndef NEED_strerror -#define NEED_strerror -#endif -#ifndef NEED_basename -#define NEED_basename -#endif -#ifndef NEED_psignal -#define NEED_psignal -#endif -#ifndef NEED_on_exit -#define NEED_on_exit -#endif +/* This is -*- C -*- */ +#define HAVE_STDLIB_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TIME_H 1 +/* Cheat: use vms builtin alloca. */ +#ifdef __DECC +#define C_alloca(x) __ALLOCA(x) +#endif diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index b02f9bbf97e..4f309ef992b 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -719,8 +719,8 @@ cplus_demangle_fill_ctor (struct demangle_component *p, { if (p == NULL || name == NULL - || (kind < gnu_v3_complete_object_ctor - && kind > gnu_v3_complete_object_allocating_ctor)) + || (int) kind < gnu_v3_complete_object_ctor + || (int) kind > gnu_v3_complete_object_allocating_ctor) return 0; p->type = DEMANGLE_COMPONENT_CTOR; p->u.s_ctor.kind = kind; @@ -738,8 +738,8 @@ cplus_demangle_fill_dtor (struct demangle_component *p, { if (p == NULL || name == NULL - || (kind < gnu_v3_deleting_dtor - && kind > gnu_v3_base_object_dtor)) + || (int) kind < gnu_v3_deleting_dtor + || (int) kind > gnu_v3_base_object_dtor) return 0; p->type = DEMANGLE_COMPONENT_DTOR; p->u.s_dtor.kind = kind; diff --git a/libiberty/makefile.vms b/libiberty/makefile.vms index 6a7dd45718e..2f45f69a2ae 100644 --- a/libiberty/makefile.vms +++ b/libiberty/makefile.vms @@ -7,19 +7,25 @@ # # -OBJS=bcopy.obj,bcmp.obj,getopt.obj,obstack.obj,xexit.obj,xmalloc.obj,hex.obj,\ - getopt1.obj,cplus-dem.obj,strncasecmp.obj,strcasecmp.obj,strdup.obj,\ - concat.obj,getruntime.obj,getpagesize.obj,alloca.obj,xstrerror.obj,\ - xmemdup.obj,xstrdup.obj,xatexit.obj,choose-temp.obj,fnmatch.obj,objalloc.obj +OBJS=getopt.obj,obstack.obj,xexit.obj,xmalloc.obj,hex.obj,\ + getopt1.obj,cplus-dem.obj,cp-demangle.obj,cp-demint.obj,\ + asprintf.obj vasprintf.obj,mkstemps.obj,\ + concat.obj,getruntime.obj,getpagesize.obj,getpwd.obj,xstrerror.obj,\ + xmemdup.obj,xstrdup.obj,xatexit.obj,choose-temp.obj,fnmatch.obj,\ + objalloc.obj,safe-ctype.obj,hashtab.obj,lbasename.obj,argv.obj,\ + lrealpath.obj,make-temp-file.obj,unlink-if-ordinary.obj ifeq ($(CC),gcc) CFLAGS=/include=([],[-.include]) else # assume dec c -CFLAGS=/noopt/debug/include=([],[-.include])/define=("const=")/warnings=disable=(missingreturn,implicitfunc) +OPT=/noopt/debug/warnings=disable=(missingreturn) +CFLAGS=$(OPT)/include=([],[-.include])/name=(as_is,shortened)\ + /define=(HAVE_CONFIG_H=1)\ + /prefix=(all,except=("getopt","optarg","optopt","optind","opterr")) endif -libiberty.olb: config.h alloca-conf.h $(OBJS) +libiberty.olb: config.h $(OBJS) purge lib/create libiberty *.obj diff --git a/libiberty/pex-win32.c b/libiberty/pex-win32.c index 30ef4359200..91e0bc882ff 100644 --- a/libiberty/pex-win32.c +++ b/libiberty/pex-win32.c @@ -753,17 +753,20 @@ pex_win32_exec_child (struct pex_obj *obj ATTRIBUTE_UNUSED, int flags, original descriptors. */ orig_in = in; in = _dup (orig_in); - _close (orig_in); + if (orig_in != STDIN_FILENO) + _close (orig_in); orig_out = out; out = _dup (orig_out); - _close (orig_out); + if (orig_out != STDOUT_FILENO) + _close (orig_out); if (separate_stderr) { orig_err = errdes; errdes = _dup (orig_err); - _close (orig_err); + if (orig_err != STDERR_FILENO) + _close (orig_err); } stdin_handle = INVALID_HANDLE_VALUE; @@ -844,11 +847,9 @@ pex_win32_exec_child (struct pex_obj *obj ATTRIBUTE_UNUSED, int flags, /* Close the standard input, standard output and standard error handles in the parent. */ - if (in != STDIN_FILENO) - _close (in); - if (out != STDOUT_FILENO) - _close (out); - if (errdes != STDERR_FILENO) + _close (in); + _close (out); + if (separate_stderr) _close (errdes); return pid; |