* cp-demangle.c (IS_UPPER, IS_LOWER): Define. (d_last_char): Define new macro. (d_make_name): Reject an empty name. (d_prefix, d_unqualified_name, d_type): Use new IS_* macros. (d_substitution, d_print_identifier): Likewise. (d_print_comp) [D_COMP_OPERATOR]: Likewise. (d_print_comp) [D_COMP_TEMPLATE]: Use new d_last_char macro. (d_print_mod) Use new d_last_char macro. (d_print_cast): Use new d_last_char macro. (is_ctor_or_dtor): Don't leak memory. Fix handling of member function modifiers: * cp-demangle.c (enum d_comp_type): Add D_COMP_RESTRICT_THIS, D_COMP_VOLATILE_THIS, and D_COMP_CONST_THIS. (d_dump): Dump new d_comp_type values. (d_make_comp): Accept new d_comp_type values. (has_return_type): Only accept _THIS variants of qualifiers. (d_encoding): Without DMGL_PARAMS, only remove _THIS variants of qualifiers. (d_cv_qualifiers): Add member_fn parameter. Change all callers. (d_print_comp) [D_COMP_TYPED_NAME]: Rather than removing qualifiers and printing them at the end, add _THIS qualifiers to the modifier list. (d_print_comp) [D_COMP_*_THIS]: New cases. (d_print_comp) [D_COMP_PTRMEM_TYPE]: Remove special handling of qualifiers. (d_print_mod_list): Add suffix parameter. Change all callers. Keep walking the list even if the current modifier has been printed. (d_print_mod): Handle new _THIS qualifiers. (d_print_function_type): Handle new _THIS qualifiers when deciding whether to print a parenthesis. Put a space before the parenthesis in some cases. Call d_print_mod_list again at the end, passing suffix as 1. (is_ctor_or_dtor): Look for new _THIS qualifiers. * testsuite/demangle-expected: Add test case. Fix for PR gcc/13304: * cp-demangle.c (d_print_comp) [D_COMP_TEMPLATE]: If the character before the '<' is itself a '<', insert a space. (d_print_cast): Likewise. * testsuite/demangle-expected: Add test case. Fix for PR gcc/13244: * cp-demangle.c (d_print_comp) [D_COMP_BINARY]: Wrap an expression which uses the '>' operator in an extra layer of parens. * testsuite/demangle-expected: Add test case. From-SVN: r74290
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| config | Loading commit data... | |
| testsuite | Loading commit data... | |
| COPYING.LIB | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| README | Loading commit data... | |
| _doprnt.c | Loading commit data... | |
| acconfig.h | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| alloca.c | Loading commit data... | |
| argv.c | Loading commit data... | |
| asprintf.c | Loading commit data... | |
| atexit.c | Loading commit data... | |
| basename.c | Loading commit data... | |
| bcmp.c | Loading commit data... | |
| bcopy.c | Loading commit data... | |
| bsearch.c | Loading commit data... | |
| bzero.c | Loading commit data... | |
| calloc.c | Loading commit data... | |
| choose-temp.c | Loading commit data... | |
| clock.c | Loading commit data... | |
| concat.c | Loading commit data... | |
| config.h-vms | Loading commit data... | |
| config.in | Loading commit data... | |
| config.table | Loading commit data... | |
| configure | Loading commit data... | |
| configure.in | Loading commit data... | |
| copying-lib.texi | Loading commit data... | |
| copysign.c | Loading commit data... | |
| cp-demangle.c | Loading commit data... | |
| cplus-dem.c | Loading commit data... | |
| dyn-string.c | Loading commit data... | |
| fdmatch.c | Loading commit data... | |
| ffs.c | Loading commit data... | |
| fibheap.c | Loading commit data... | |
| floatformat.c | Loading commit data... | |
| fnmatch.c | Loading commit data... | |
| fnmatch.txh | Loading commit data... | |
| functions.texi | Loading commit data... | |
| gather-docs | Loading commit data... | |
| getcwd.c | Loading commit data... | |
| getopt.c | Loading commit data... | |
| getopt1.c | Loading commit data... | |
| getpagesize.c | Loading commit data... | |
| getpwd.c | Loading commit data... | |
| getruntime.c | Loading commit data... | |
| hashtab.c | Loading commit data... | |
| hex.c | Loading commit data... | |
| index.c | Loading commit data... | |
| insque.c | Loading commit data... | |
| lbasename.c | Loading commit data... | |
| libiberty.texi | Loading commit data... | |
| lrealpath.c | Loading commit data... | |
| maint-tool | Loading commit data... | |
| make-relative-prefix.c | Loading commit data... | |
| make-temp-file.c | Loading commit data... | |
| makefile.vms | Loading commit data... | |
| md5.c | Loading commit data... | |
| memchr.c | Loading commit data... | |
| memcmp.c | Loading commit data... | |
| memcpy.c | Loading commit data... | |
| memmove.c | Loading commit data... | |
| mempcpy.c | Loading commit data... | |
| memset.c | Loading commit data... | |
| mkstemps.c | Loading commit data... | |
| mpw-config.in | Loading commit data... | |
| mpw-make.sed | Loading commit data... | |
| mpw.c | Loading commit data... | |
| msdos.c | Loading commit data... | |
| objalloc.c | Loading commit data... | |
| obstack.c | Loading commit data... | |
| obstacks.texi | Loading commit data... | |
| partition.c | Loading commit data... | |
| pex-common.h | Loading commit data... | |
| pex-djgpp.c | Loading commit data... | |
| pex-mpw.c | Loading commit data... | |
| pex-msdos.c | Loading commit data... | |
| pex-os2.c | Loading commit data... | |
| pex-unix.c | Loading commit data... | |
| pex-win32.c | Loading commit data... | |
| pexecute.txh | Loading commit data... | |
| physmem.c | Loading commit data... | |
| putenv.c | Loading commit data... | |
| random.c | Loading commit data... | |
| regex.c | Loading commit data... | |
| rename.c | Loading commit data... | |
| rindex.c | Loading commit data... | |
| safe-ctype.c | Loading commit data... | |
| setenv.c | Loading commit data... | |
| sigsetmask.c | Loading commit data... | |
| snprintf.c | Loading commit data... | |
| sort.c | Loading commit data... | |
| spaces.c | Loading commit data... | |
| splay-tree.c | Loading commit data... | |
| stpcpy.c | Loading commit data... | |
| stpncpy.c | Loading commit data... | |
| strcasecmp.c | Loading commit data... | |
| strchr.c | Loading commit data... | |
| strdup.c | Loading commit data... | |
| strerror.c | Loading commit data... | |
| strncasecmp.c | Loading commit data... | |
| strncmp.c | Loading commit data... | |
| strrchr.c | Loading commit data... | |
| strsignal.c | Loading commit data... | |
| strstr.c | Loading commit data... | |
| strtod.c | Loading commit data... | |
| strtol.c | Loading commit data... | |
| strtoul.c | Loading commit data... | |
| ternary.c | Loading commit data... | |
| tmpnam.c | Loading commit data... | |
| vasprintf.c | Loading commit data... | |
| vfork.c | Loading commit data... | |
| vfprintf.c | Loading commit data... | |
| vmsbuild.com | Loading commit data... | |
| vprintf.c | Loading commit data... | |
| vsnprintf.c | Loading commit data... | |
| vsprintf.c | Loading commit data... | |
| waitpid.c | Loading commit data... | |
| xatexit.c | Loading commit data... | |
| xexit.c | Loading commit data... | |
| xmalloc.c | Loading commit data... | |
| xmemdup.c | Loading commit data... | |
| xstrdup.c | Loading commit data... | |
| xstrerror.c | Loading commit data... |