diff options
Diffstat (limited to 'gdb/make-target-delegates')
-rwxr-xr-x | gdb/make-target-delegates | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gdb/make-target-delegates b/gdb/make-target-delegates index fd51c64..1773232 100755 --- a/gdb/make-target-delegates +++ b/gdb/make-target-delegates @@ -232,8 +232,18 @@ sub munge_type($) { $result = $1; } else { ($result = $typename) =~ s/\s+$//; - $result =~ s/[ ()]/_/g; + $result =~ s/[ ()<>:]/_/g; $result =~ s/[*]/p/g; + + # Identifers with double underscores are reserved to the C++ + # implementation. + $result =~ s/_+/_/g; + + # Avoid ending the function name with underscore, for + # cosmetics. Trailing underscores appear after munging types + # with template parameters, like e.g. "foo<int>". + $result =~ s/_$//g; + $result = 'target_debug_print_' . $result; } |