diff options
author | Paolo Bonzini <bonzini@gcc.gnu.org> | 2009-12-15 00:20:03 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2009-12-15 00:20:03 +0000 |
commit | 6ba6f70d7fa8fa889576172a23c199a51abdd045 (patch) | |
tree | cfeb179f5b57de2147e03bd05038051732204246 /gcc/cp/call.c | |
parent | 9ed796d78bd95091e6715200c029c812047f843c (diff) | |
download | gcc-6ba6f70d7fa8fa889576172a23c199a51abdd045.zip gcc-6ba6f70d7fa8fa889576172a23c199a51abdd045.tar.gz gcc-6ba6f70d7fa8fa889576172a23c199a51abdd045.tar.bz2 |
[multiple changes]
2009-12-15 Paolo Bonzini <bonzini@gnu.org>
Shujing Zhao <pearly.zhao@oracle.com>
* intl.c (get_spaces): New.
* intl.h (get_spaces): New.
cp:
2009-12-15 Paolo Bonzini <bonzini@gnu.org>
Shujing Zhao <pearly.zhao@oracle.com>
* Makefile.in (cp/pt.o): Depend on intl.h
* call.c (print_z_candidates): Make loop more compact,
choose head string depending on number of candidates,
extract creation of spaces string to intl.c.
* pt.c (print_overloaded_functions): Replace with...
(print_candidates_1): ... this rewrite.
(print_candidates): Rewrite to call print_candidates_1.
(most_specialized_class): Make loop more compact,
choose head string depending on number of candidates,
and size indents depending on translations.
testsuite:
2009-12-15 Shujing Zhao <pearly.zhao@oracle.com>
* g++.dg/other/error20.C: Adjust dg-message strings.
* g++.dg/other/error31.C: Likewise.
* g++.dg/rtti/typeid6.C: Likewise.
* g++.dg/ext/ms-1.C: Likewise.
* g++.dg/parse/error19.C: Likewise.
* g++.dg/parse/crash5.C: Likewise.
* g++.dg/cpp0x/explicit4.C: Likewise.
* g++.dg/template/ptrmem4.C: Likewise.
* g++.dg/template/crash37.C: Likewise.
* g++.dg/template/qualttp5.C: Likewise.
* g++.dg/template/local6.C: Likewise.
* g++.dg/template/instantiate5.C: Likewise.
* g++.old-deja/g++.brendan/overload1.C: Likewise.
* g++.old-deja/g++.brendan/cvt3.C: Likewise.
* g++.old-deja/g++.brendan/overload4.C: Likewise.
* g++.old-deja/g++.jason/conversion11.C: Likewise.
* g++.old-deja/g++.jason/scoping10.C: Likewise.
* g++.old-deja/g++.other/expr1.C: Likewise.
* g++.old-deja/g++.other/pmf3.C: Likewise.
* g++.old-deja/g++.other/crash24.C: Likewise.
* g++.old-deja/g++.niklas/t120.C: Likewise.
* g++.old-deja/g++.niklas/t121.C: Likewise.
* g++.old-deja/g++.law/operators9.C: Likewise.
* g++.old-deja/g++.law/arm9.C: Likewise.
* g++.old-deja/g++.law/enum4.C: Likewise.
* g++.old-deja/g++.law/arg11.C: Likewise.
* g++.old-deja/g++.benjamin/15800-1.C: Likewise.
* g++.old-deja/g++.mike/p2431.C: Likewise.
* g++.old-deja/g++.mike/p438.C: Likewise.
* g++.old-deja/g++.mike/p9068.C: Likewise.
* g++.old-deja/g++.mike/p11110.C: Likewise.
* g++.old-deja/g++.bugs/900330_02.C: Likewise.
From-SVN: r155245
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r-- | gcc/cp/call.c | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index a6041f5..1f17180 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -2730,6 +2730,7 @@ print_z_candidates (struct z_candidate *candidates) const char *str; struct z_candidate *cand1; struct z_candidate **cand2; + char *spaces; if (!candidates) return; @@ -2770,25 +2771,14 @@ print_z_candidates (struct z_candidate *candidates) } } - str = _("candidates are:"); - print_z_candidate (str, candidates); - if (candidates->next) + str = candidates->next ? _("candidates are:") : _("candidate is:"); + spaces = NULL; + for (; candidates; candidates = candidates->next) { - /* Indent successive candidates by the width of the translation - of the above string. */ - size_t len = gcc_gettext_width (str) + 1; - char *spaces = (char *) alloca (len); - memset (spaces, ' ', len-1); - spaces[len - 1] = '\0'; - - candidates = candidates->next; - do - { - print_z_candidate (spaces, candidates); - candidates = candidates->next; - } - while (candidates); + print_z_candidate (spaces ? spaces : str, candidates); + spaces = spaces ? spaces : get_spaces (str); } + free (spaces); } /* USER_SEQ is a user-defined conversion sequence, beginning with a |