From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Berlin To: Elena Zannoni Cc: Daniel Jacobowitz , gdb-patches@sources.redhat.com Subject: Re: [rfa] symbol hashing, part 2/n - ALL_BLOCK_SYMBOLS Date: Thu, 11 Oct 2001 16:48:00 -0000 Message-id: <5201EEBC-BEA2-11D5-A4DE-0030657B5340@cgsoftware.com> References: <15302.12121.778853.77938@krustylu.cygnus.com> X-SW-Source: 2001-10/msg00150.html On Thursday, October 11, 2001, at 07:46 PM, Elena Zannoni wrote: > > Daniel, > Thanks so much for doing this. It makes it so much easier. > > Yes, I looked ths over and it seems to work, except that I would really > prefer the change to printcmd.c split in two. The first bit to > rationalize that "if (func)..." code. This would have with it all > the indentation changes as well. The code as it is now doesn't really > make much sense. So, that looks a good change to me. But it has nothing > to do with the new macro. After that change is in, you can introduce > the macro in printcmd.c w/o having all the indent changes. > It also makes it easier to distinguish a no-op change (the macro) from > the other one. > > The cahnge is printcmd.c needs to delete also the > sym = BLOCK_SYM (b, i); > line. > > [Note that I don't maintain printcmd.c, so, I should just shut up :-)] > > I applied your patch as is to my sources, and did a grep for BLOCK_SYM, > and found a few more for loops that could be converted: > > > This one in buildsym.c: > line ~280: > > struct symbol *sym; > for (i = 0; i < BLOCK_NSYMS (block); i++) > { > sym = BLOCK_SYM (block, i); > > And this one in symtab.c: > line ~1500: > > top = BLOCK_NSYMS (block); > for (bot = 0; bot < top; bot++) > { > sym = BLOCK_SYM (block, bot); > Both of these loops get changed by the next patch i'm sure he'll submit, to introduce hashed blocks, which is probably why he didn't change them.