aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2002-02-03 22:57:56 +0000
committerDaniel Jacobowitz <drow@false.org>2002-02-03 22:57:56 +0000
commitdd6bda650aa787d14496b8dc397895011faded80 (patch)
treeb1558c6016061f47715a53633ca2d051a9c8a391 /gdb/stabsread.c
parent88fe217c0b62e1905644d6eade1de32c22d2e735 (diff)
downloadgdb-dd6bda650aa787d14496b8dc397895011faded80.zip
gdb-dd6bda650aa787d14496b8dc397895011faded80.tar.gz
gdb-dd6bda650aa787d14496b8dc397895011faded80.tar.bz2
2002-02-01 Daniel Jacobowitz <drow@mvista.com>
PR gdb/280 * gdbtypes.c (replace_type): New function. * gdbtypes.h (replace_type): Add prototype. * stabsread.c (read_type): Use replace_type.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r--gdb/stabsread.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 62b8bfe..ec931c0 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -2531,7 +2531,13 @@ again:
}
else if (type_size >= 0 || is_string)
{
- *type = *xtype;
+ /* This is the absolute wrong way to construct types. Every
+ other debug format has found a way around this problem and
+ the related problems with unnecessarily stubbed types;
+ someone motivated should attempt to clean up the issue
+ here as well. Once a type pointed to has been created it
+ should not be modified. */
+ replace_type (type, xtype);
TYPE_NAME (type) = NULL;
TYPE_TAG_NAME (type) = NULL;
}