This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
> > That's why I modified this part of the code to make the cv type
> > only when the target type was already defined. Otherwise, we give
> > up the "const" qualifier and reuse the target type instead. We
> > know that this target type will be fixed up later, so our parameter
> > will have a defined type, and we'll be able to print it. We end up
> > losing the "const" qualifier, but this is still way better than
> > not having any type at all.
>
> I really don't like this part. I don't understand it, either. Why is
> the CV type complete? When the non-qualified type is filled in, that
> should automatically fill this in, because of the CV ring. See the
> implementation of replace_type.
You were right. This is unnecessary. Once I applied the fix to replace_type
(see http://www.sourceware.org/ml/gdb-patches/2007-02/msg00384.html),
I was able to remove this change and still get the proper result.
So here is a new submission of the rest of the changes, left untouched
since the last submission.
2007-02-08 Joel Brobecker <brobecker@adacore.com>
* stabsread.c (add_undefined_type): Add extra parameter.
Now handles nameless types separately.
(struct nat): New type.
(noname_undefs, noname_undefs_allocated, noname_undefs_length):
New static variables.
(read_type): Update calls to add_undefined_type.
(add_undefined_type_noname): New function.
(add_undefined_type_1): Renames from add_undefined_type.
(cleanup_undefined_types_noname): New function.
(cleanup_undefined_types_1): Renames cleanup_undefined_types.
(cleanup_undefined_types): New handles nameless types separately.
(_initialize_stabsread): Initialize our new static constants.
The following patch has been tested on x86-linux with -gstabs+.
OK to apply?
Thanks,
--
Joel
Attachment:
stabsread.c.diff
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |