RFA: MI tests: tolerate prototypes

Andrew Cagney ac131313@cygnus.com
Wed Feb 6 16:14:00 GMT 2002


> Daniel Jacobowitz <drow@mvista.com> writes:
> 
>> > Ah, by building `prototype'-style types for all the functions, even
>> > those declared without prototypes, and using the called-as types as
>> > the prototype argument types.  It'll work because, even though the
>> > type claims to be prototyped, the argument types are such that we end
>> > up doing the same promotions required by the rules for calling
>> > non-prototyped functions.
> 
>> 
>> So, the question becomes - do we need MAYBE_PROTOTYPED?  If we accept
>> that the types marked in stabs as parameters are promoted types, then
>> we can simply mark stabs functions as being prototyped, and trust
>> TYPE_FLAG_PROTOTYPED more than we do.
> 
> 
> If we do that, then:
> - Dwarf 2 will continue to work correctly, since its prototype info
>   has always been accurate,
> - under STABS, calls to functions whose definitions we have debug info
>   for will always work, unlike the current state of affairs, and 
> - under STABS, calls via function pointers will do non-prototyped
>   argument promotion, which is no worse than now.
> 
> Sounds good to me.
> 
> It does bother me, sort of on principle, that we won't really have
> info about which functions were declared in which way.  I mean,
> prototypedness is a real property of function types in ISO C.  But
> given that our debug format doesn't carry the info we need, I guess
> I'll just get over it. :)


Jim, my preference here is more along your proposal - have an explicit 
``prototype-unknown'' state.

 From memory the last time this came up I also suggested here that 
changing the default behavour across GDB is probably a good thing.  I 
don't think this is something that individual targets should be 
deciding.  Instead GDB should exibit consistent behavour across 
host/target combinations, the decision being made on the basis of the 
debug info.

enjoy,
Andrew





More information about the Gdb-patches mailing list