From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Berlin To: Hilfinger@gnat.com Cc: gdb-patches@sources.redhat.com Subject: Re: Question concerning comment in symtab.h Date: Wed, 09 May 2001 17:21:00 -0000 Message-id: <200105100021.UAA04994@www.cgsoftware.com> References: <200105100004.RAA07318@localhost.localdomain> X-SW-Source: 2001-05/msg00131.html On Wednesday, May 9, 2001, at 08:04 PM, Paul N. Hilfinger wrote: > > The definition of struct block contains: > > /* Version of GCC used to compile the function corresponding > to this block, or 0 if not compiled with GCC. When possible, > GCC should be compatible with the native compiler, or if that > is not feasible, the differences should be fixed during symbol > reading. As of 16 Apr 93, this flag is never used to distinguish > between gcc2 and the native compiler. > > If there is no function corresponding to this block, this meaning > of this flag is undefined. */ > > unsigned char gcc_compile_flag; > > Am I correct that this comment is wrong? For example, in valops.c > (hand_function_call), we find > > { > struct block *b = block_for_pc (funaddr); > /* If compiled without -g, assume GCC 2. */ > using_gcc = (b == NULL ? 2 : BLOCK_GCC_COMPILED (b)); > } > > ... and later ... > > if (using_gcc == 0) > if (param_type) > /* if this parameter is a pointer to function */ > if (TYPE_CODE (param_type) == TYPE_CODE_PTR) > if (TYPE_CODE (param_type->target_type) == TYPE_CODE_FUNC) > /* elz: FIXME here should go the test about the compiler used > to compile the target. We want to issue the error > message only if the compiler used was HP's aCC. > > which looks to me as if it handles GCC 2 and native compilers > differently. > > [I ask because we may have another use for BLOCK_GCC_COMPILED, which > simply > returns gcc_compile_flag, and I want to understand whether anything > DEPENDS > on the assertion in this comment.] What do you want to do with BLOCK_GCC_COMPILED? I was just getting ready to remove it. As the comment says, you shouldn't be using it to distinguish between gcc and something else past the symbol reading. > > Paul Hilfinger