On Tue, Sep 1, 2009 at 12:31 PM, Ian Lance Taylor<i...@google.com> wrote: > Godmar Back <god...@gmail.com> writes: > >> It appears to me that '-mno-push-args' is the enabled by default (*), >> and not '-mpush-args'. > > The default varies by processor--it dependson the -mtune option.
I don't know how to find out which tuning is enabled by default; I assume -mtune=generic? Would statements with respect to what "default" is apply to the "default" mtune setting? > >> Moreover, since -maccumulate-outgoing-args >> implies -mno-push-args, it appears that the only way to obtain >> 'push-args' behavior is to specify '-mno-accumulate-outgoing-args' - a >> switch which the documentation doesn't even mention. > > That is likely true. > > If you want to send a patch for the docs, that would be great. > Whilst in general I am not opposed to this, and have contributed to many open source projects in the past, I feel that the documentation should be updated by someone who can actually vouch for the completeness and accuracy of what's written, which I definitely cannot. I also cannot verify the accuracy of the claims with respect to speeds of the two options. Moreover, these claims are made in a section of the documentation that applies to an entire architecture rather than a specific processor implementation. Perhaps they should simply be removed? I'm also uncertain where exactly the difference between accumulate-outgoing-args and push-args is. accumulate implies no-push-arg, and no-accumulate+push-arg is the traditional approach, but what does no-accumulate+no+push+arg look like and does it even make sense? It would also be great if '-mpush-args' without -mno-accumulate-outgoing-args would trigger a warning: Warning: -mpush-args ignored while -maccumulate-outgoing-args is in effect. - Godmar