From cda6c68a012237dcd7a943e0ed275f4f570e57e3 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Sat, 4 May 2002 21:24:07 +0000 Subject: [PATCH] * gdbtypes.c (replace_type): Doc fix. --- gdb/ChangeLog | 4 ++++ gdb/gdbtypes.c | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4ec99722c3f..bb918d25297 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2002-05-04 Jim Blandy + + * gdbtypes.c (replace_type): Doc fix. + 2002-05-04 Andrew Cagney * valprint.c (strcat_longest): Delete commented out function. diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 9132c40b5fe..290d4fe09c5 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -521,10 +521,16 @@ finish_cv_type (struct type *type) /* Replace the contents of ntype with the type *type. - When building recursive types, it is necessary to update a type's - definition after people already have references to it. The C - language's concept of an `incomplete type' is an acknowledgement of - this. */ + In order to build recursive types, it's inevitable that we'll need + to update types in place --- but this sort of indiscriminate + smashing is ugly, and needs to be replaced with something more + controlled. For example, Daniel Jacobowitz has suggested moving + the fields common to a set of c/v variants into their own object, + which the variants would share. + + This function does not handle the replacement type being + cv-qualified; it could be easily fixed to, but it would be better + to just change the whole approach. */ void replace_type (struct type *ntype, struct type *type) { -- 2.30.2