aboutsummaryrefslogtreecommitdiff
path: root/gdb/make-target-delegates
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/make-target-delegates')
-rwxr-xr-xgdb/make-target-delegates5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/make-target-delegates b/gdb/make-target-delegates
index 5f77c9d..bf91ddc 100755
--- a/gdb/make-target-delegates
+++ b/gdb/make-target-delegates
@@ -115,7 +115,7 @@ sub parse_argtypes($) {
foreach $iter (@typelist) {
if ($iter =~ m/^(enum\s+${SYMBOL}\s*)(${SYMBOL})?$/) {
$onetype = $1;
- } elsif ($iter =~ m/^(.*(enum\s+)?${SYMBOL}.*(\s|\*))${SYMBOL}+$/) {
+ } elsif ($iter =~ m/^(.*(enum\s+)?${SYMBOL}.*(\s|\*|&))${SYMBOL}+$/) {
$onetype = $1;
} elsif ($iter eq 'void') {
next;
@@ -151,7 +151,7 @@ sub write_function_header($$@) {
$val =~ s/$TARGET_DEBUG_PRINTER//;
- if ($iter !~ m,\*$,) {
+ if ($iter !~ m,(\*|&)$,) {
$val .= ' ';
}
@@ -234,6 +234,7 @@ sub munge_type($) {
($result = $typename) =~ s/\s+$//;
$result =~ s/[ ()<>:]/_/g;
$result =~ s/[*]/p/g;
+ $result =~ s/&/r/g;
# Identifers with double underscores are reserved to the C++
# implementation.