aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/include/bits/demangle.h7
2 files changed, 13 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a8f93fe..1aeecd1 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2003-12-20 Carlo Wood <carlo@alinoe.com>
+
+ * bits/demangle.h
+ namespace __gnu_cxx::demangler
+ (session<Allocator>::decode_encoding): Put the postfix
+ of the return type of (member) functions after the function
+ instead of after the return type.
+
2003-12-19 Jerry Quinn <jlquinn@optonline.net>
* include/bits/locale_facet.h
diff --git a/libstdc++-v3/include/bits/demangle.h b/libstdc++-v3/include/bits/demangle.h
index 82e2d06..2c24016 100644
--- a/libstdc++-v3/include/bits/demangle.h
+++ b/libstdc++-v3/include/bits/demangle.h
@@ -2665,12 +2665,14 @@ namespace __gnu_cxx
return demangler_session.M_pos;
}
// Must have been a <function name>.
+ string_type return_type_postfix;
if (demangler_session.M_name_is_template
&& !(demangler_session.M_name_is_cdtor
|| demangler_session.M_name_is_conversion_operator))
{
- if (!demangler_session.decode_type(output))
- // Return type of function
+ // Return type of function
+ if (!demangler_session.decode_type_with_postfix(output,
+ return_type_postfix))
return INT_MIN;
output += ' ';
}
@@ -2678,6 +2680,7 @@ namespace __gnu_cxx
if (!demangler_session.decode_bare_function_type(output))
return INT_MIN;
output += nested_name_qualifiers;
+ output += return_type_postfix;
return demangler_session.M_pos;
}