The only reason I wanted `float complex` was for interoperability between the two other demanglers. Although the go demangler does use `_Complex` and `_Imaginary`, so I guess it's sort of split. But I agree, `_Complex` and `_Imaginary` is probably the better option.
Thanks, Miguel Saldivar On Fri, Oct 18, 2019 at 9:04 AM Ian Lance Taylor <i...@google.com> wrote: > On Thu, Oct 17, 2019 at 10:20 PM Miguel Saldivar <saldivarc...@gmail.com> > wrote: > > > > This is a small fix for Bug 67299, where symbol: `Z1fCf` which would > become > > `f(float complex)` instead of `f(floatcomplex )`. > > I thought this would be the preferred way of printing, because both > > `llvm-cxxfilt` and `cpp_filt` both print the the mangled name in this > > fashion. > > Thanks. Personally I think it would be better to change the strings > to " _Complex" and " _Imaginary". I'm open to discussion on this. > > Ian > > > From 4ca98c0749bae1389594b31ee7f6ef575aafcd8f Mon Sep 17 00:00:00 2001 > > From: Miguel Saldivar <saldivarc...@gmail.com> > > Date: Thu, 17 Oct 2019 16:36:19 -0700 > > Subject: [PATCH][Demangler] Small fix for complex values > > > > gcc/libiberty/ > > * cp-demangle.c (d_print_mod): Add a space before printing `complex` > > and `imaginary`, as opposed to after. > > > > gcc/libiberty/ > > * testsuite/demangle-expected: Adjust test. > > --- > > libiberty/ChangeLog | 5 +++++ > > libiberty/cp-demangle.c | 4 ++-- > > libiberty/testsuite/demangle-expected | 2 +- > > 3 files changed, 8 insertions(+), 3 deletions(-) > > > > diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog > > index 97d9767c2ea..62d5527b95b 100644 > > --- a/libiberty/ChangeLog > > +++ b/libiberty/ChangeLog > > @@ -1,3 +1,8 @@ > > +2019-10-17 Miguel Saldivar <saldivarc...@gmail.com> > > + * cp-demangle.c (d_print_mod): Add a space before printing `complex` > > + and `imaginary`, as opposed to after. > > + * testsuite/demangle-expected: Adjust test. > > + > > 2019-10-03 Eduard-Mihai Burtescu <ed...@lyken.rs> > > > > * rust-demangle.c (looks_like_rust): Remove. > > diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c > > index aa78c86dd44..bd4dfb785a9 100644 > > --- a/libiberty/cp-demangle.c > > +++ b/libiberty/cp-demangle.c > > @@ -5977,10 +5977,10 @@ d_print_mod (struct d_print_info *dpi, int > options, > > d_append_string (dpi, "&&"); > > return; > > case DEMANGLE_COMPONENT_COMPLEX: > > - d_append_string (dpi, "complex "); > > + d_append_string (dpi, " complex"); > > return; > > case DEMANGLE_COMPONENT_IMAGINARY: > > - d_append_string (dpi, "imaginary "); > > + d_append_string (dpi, " imaginary"); > > return; > > case DEMANGLE_COMPONENT_PTRMEM_TYPE: > > if (d_last_char (dpi) != '(') > > diff --git a/libiberty/testsuite/demangle-expected > > b/libiberty/testsuite/demangle-expected > > index f21ed00e559..43f003655b2 100644 > > --- a/libiberty/testsuite/demangle-expected > > +++ b/libiberty/testsuite/demangle-expected > > @@ -1278,7 +1278,7 @@ int& int_if_addable<Y>(A<sizeof > > ((*((Y*)(0)))+(*((Y*)(0))))>*) > > # > > --format=gnu-v3 > > _Z3bazIiEvP1AIXszcl3foocvT__ELCf00000000_00000000EEEE > > -void baz<int>(A<sizeof (foo((int)(), (floatcomplex > )00000000_00000000))>*) > > +void baz<int>(A<sizeof (foo((int)(), (float > complex)00000000_00000000))>*) > > # > > --format=gnu-v3 > > _Z3fooI1FEN1XIXszdtcl1PclcvT__EEE5arrayEE4TypeEv > > -- > > 2.23.0 >