From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18532 invoked by alias); 2 Jan 2010 10:08:28 -0000 Received: (qmail 18519 invoked by uid 22791); 2 Jan 2010 10:08:27 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 02 Jan 2010 10:08:23 +0000 Received: (qmail 16536 invoked from network); 2 Jan 2010 10:08:21 -0000 Received: from unknown (HELO wind.localnet) (vladimir@127.0.0.2) by mail.codesourcery.com with ESMTPA; 2 Jan 2010 10:08:21 -0000 From: Vladimir Prus To: Jan Kratochvil Subject: Re: Regression: field type preservation: 7.0 -> 7.0.1+HEAD Date: Sat, 02 Jan 2010 10:08:00 -0000 User-Agent: KMail/1.12.2 (Linux/2.6.31-14-generic-pae; KDE/4.3.2; i686; ; ) Cc: gdb@sourceware.org References: <20100101184505.GA18391@host0.dyn.jankratochvil.net> In-Reply-To: <20100101184505.GA18391@host0.dyn.jankratochvil.net> MIME-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <201001021308.19130.vladimir@codesourcery.com> Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-01/txt/msg00018.txt.bz2 On Friday 01 January 2010 21:45:05 Jan Kratochvil wrote: > Hi, > > there is now: > -PASS: gdb.mi/mi-var-child.exp: get children of struct_declarations.s2.u2.u1s1 > +FAIL: gdb.mi/mi-var-child.exp: get children of struct_declarations.s2.u2.u1s1 > -PASS: gdb.mi/mi2-var-child.exp: get children of struct_declarations.s2.u2.u1s1 > +FAIL: gdb.mi/mi2-var-child.exp: get children of struct_declarations.s2.u2.u1s1 > -PASS: gdb.python/py-mi.exp: examine container children=0, no pretty-printing > +FAIL: gdb.python/py-mi.exp: examine container children=0, no pretty-printing > > due to: > Re: RFA: unbreak typedefed bitfield > http://sourceware.org/ml/gdb-patches/2009-12/msg00295.html > commit fc85da4ee2a7c32afc53b1b334a4f84e2e9bd84e > http://sourceware.org/ml/gdb-cvs/2009-12/msg00100.html > Author: Vladimir Prus > Date: Mon Dec 21 09:50:26 2009 +0000 > PR gdb/10884 > * value.c (value_primitive_field): Call check_typedef > on the type. > > which has landed on gdb_7_0-branch for 7.0.1: > http://sourceware.org/ml/gdb-patches/2009-12/msg00301.html > Author: Joel Brobecker > commit 259702e4c806baf8ba483484ceec8feb94a39a64 > http://sourceware.org/ml/gdb-cvs/2009-12/msg00104.html > commit f3f5ad7561d2206b09ef30df979ef58dd014543b > http://sourceware.org/ml/gdb-cvs/2009-12/msg00103.html > > PASS: ^done,numchild="4",children=[child={name="struct_declarations.s2.u2.u1s1.d",exp="d",numchild="0",type="int",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.e",exp="e",numchild="10",type="char [10]",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.func",exp="func",numchild="0",type="int *(*)(void)",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.foo",exp="foo",numchild="0",type="efoo",thread-id="1"}],has_more="0" > FAIL: ^done,numchild="4",children=[child={name="struct_declarations.s2.u2.u1s1.d",exp="d",numchild="0",type="int",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.e",exp="e",numchild="10",type="char [10]",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.func",exp="func",numchild="0",type="int *(*)(void)",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.foo",exp="foo",numchild="0",type="enum foo",thread-id="1"}],has_more="0" > wdiff:^done,numchild="4",children=[child={name="struct_declarations.s2.u2.u1s1.d",exp="d",numchild="0",type="int",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.e",exp="e",numchild="10",type="char [10]",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.func",exp="func",numchild="0",type="int *(*)(void)",thread-id="1"},child={name="struct_declarations.s2.u2.u1s1.foo",exp="foo",numchild="0",type=[-"efoo"-]{+"enum foo"+},thread-id="1"}],has_more="0" > > typedef enum foo efoo; > struct { > int d; > char e[10]; > int *(*func) (void); > efoo foo; > } u1s1; > # Test: c_variable-4.61 > # Desc: children of struct_declarations.s2.u2.u1s1 > mi_list_varobj_children struct_declarations.s2.u2.u1s1 { > {struct_declarations.s2.u2.u1s1.d d 0 int} > {struct_declarations.s2.u2.u1s1.e e 10 {char \[10\]}} > {struct_declarations.s2.u2.u1s1.func func 0 {int \*\(\*\)\((void)?\)}} > {struct_declarations.s2.u2.u1s1.foo foo 0 efoo} > } "get children of struct_declarations.s2.u2.u1s1" > > I find that the type of the field should be really reported before > check_typedef and therefore the patch should be reverted. I am sorry for somehow missing this problem. On the other hand, I do believe that gdb crashing is by definition are bigger problem than wrong type reported somewhere, so something more elaborate is required. - Volodya