diff options
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 17 | ||||
-rw-r--r-- | libiberty/Makefile.in | 16 | ||||
-rw-r--r-- | libiberty/cp-demangle.c | 11 |
3 files changed, 33 insertions, 11 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 6a93998e244..559f0c97341 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,16 @@ +2011-11-04 Jason Merrill <jason@redhat.com> + + PR c++/48370 + * cp-demangle.c (d_special_name, d_print_comp): Handle a + discriminator number on DEMANGLE_COMPONENT_REFTEMP. + +2011-11-02 Doug Evans <dje@google.com> + + * Makefile.in (CFILES): Add timeval-utils.c. + (REQUIRED_OFILES): Add timeval-utils.$(objext). + (INSTALLED_HEADERS): Add timeval-utils.h. + (timeval-utils.$(objext)): Add rule. + 2011-10-28 Ian Lance Taylor <iant@google.com> * setproctitle.c (setproctitle): Use "GNU/Linux" in comment. @@ -25,10 +38,6 @@ 2011-09-28 Doug Evans <dje@google.com> * timeval-utils.c: New file. - * Makefile.in (CFILES): Add it. - (REQUIRED_OFILES): Add timeval-utils.$(objext). - (INSTALLED_HEADERS): Add timeval-utils.h. - (timeval-utils.$(objext)): Add rule. * argv.c (countargv): New function. diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in index bcd03fd0167..5280bc1585c 100644 --- a/libiberty/Makefile.in +++ b/libiberty/Makefile.in @@ -152,7 +152,7 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \ strcasecmp.c strchr.c strdup.c strerror.c strncasecmp.c \ strncmp.c strrchr.c strsignal.c strstr.c strtod.c strtol.c \ strtoul.c strndup.c strverscmp.c \ - tmpnam.c \ + timeval-utils.c tmpnam.c \ unlink-if-ordinary.c \ vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \ waitpid.c \ @@ -184,8 +184,8 @@ REQUIRED_OFILES = \ ./simple-object-elf.$(objext) ./simple-object-mach-o.$(objext) \ ./sort.$(objext) ./spaces.$(objext) \ ./splay-tree.$(objext) ./stack-limit.$(objext) \ - ./strerror.$(objext) \ - ./strsignal.$(objext) ./unlink-if-ordinary.$(objext) \ + ./strerror.$(objext) ./strsignal.$(objext) \ + ./timeval-utils.$(objext) ./unlink-if-ordinary.$(objext) \ ./xatexit.$(objext) ./xexit.$(objext) ./xmalloc.$(objext) \ ./xmemdup.$(objext) ./xstrdup.$(objext) ./xstrerror.$(objext) \ ./xstrndup.$(objext) @@ -235,7 +235,8 @@ INSTALLED_HEADERS = \ $(INCDIR)/partition.h \ $(INCDIR)/safe-ctype.h \ $(INCDIR)/sort.h \ - $(INCDIR)/splay-tree.h + $(INCDIR)/splay-tree.h \ + $(INCDIR)/timeval-utils.h $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) -rm -f $(TARGETLIB) pic/$(TARGETLIB) @@ -1141,6 +1142,13 @@ $(CONFIGURED_OFILES): stamp-picdir else true; fi $(COMPILE.c) $(srcdir)/strverscmp.c $(OUTPUT_OPTION) +./timeval-utils.$(objext): $(srcdir)/timeval-utils.c config.h \ + $(INCDIR)/timeval-utils.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/timeval-utils.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/timeval-utils.c $(OUTPUT_OPTION) + ./tmpnam.$(objext): $(srcdir)/tmpnam.c if [ x"$(PICFLAG)" != x ]; then \ $(COMPILE.c) $(PICFLAG) $(srcdir)/tmpnam.c -o pic/$@; \ diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 08391088467..0f1166be48c 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -1856,8 +1856,11 @@ d_special_name (struct d_info *di) return d_make_comp (di, DEMANGLE_COMPONENT_GUARD, d_name (di), NULL); case 'R': - return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, d_name (di), - NULL); + { + struct demangle_component *name = d_name (di); + return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, name, + d_number_component (di)); + } case 'A': return d_make_comp (di, DEMANGLE_COMPONENT_HIDDEN_ALIAS, @@ -3954,7 +3957,9 @@ d_print_comp (struct d_print_info *dpi, int options, return; case DEMANGLE_COMPONENT_REFTEMP: - d_append_string (dpi, "reference temporary for "); + d_append_string (dpi, "reference temporary #"); + d_print_comp (dpi, options, d_right (dc)); + d_append_string (dpi, " for "); d_print_comp (dpi, options, d_left (dc)); return; |