This is the mail archive of the gdb-patches@sources.redhat.com 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]

Re: Question concerning comment in symtab.h



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]