This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


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

Re: __builtin_va_arg rfc



  In message <19990423024451.A16102@cygnus.com>you write:
  > 
  > --x+6KMIRAuhnl3hBn
  > Content-Type: text/plain; charset=us-ascii
  > 
  > Beginning with a proof-of-concept patch Jim did some years ago,
  > here's a first cut at a version that properly isolates the ABI
  > issues to the back end.
  > 
  > I'm particularly interested in comments from the C++ folks
  > whether the struct creation bits in alpha.c for __builtin_va_list
  > are going to get me in trouble -- I don't set all of the same
  > bits that the C++ front end would for a struct.
  > 
  > Another point to note is that __builtin_va_arg sets neither 
  > MEM_IN_STRUCT_P nor MEM_SCALAR_P, and does set a (single) unique
  > MEM_ALIAS_SET for every value to come out.  This should put the
  > nail in the coffin of the semi-annual struct-via-varargs bug, 
  > and improve performance a bit to boot.
  > 
  > Of course the changes to stdarg.h and varargs.h are temporary.
  > Unless of course we convert all 19 special-case targets.  ;-)
  > 
  > The patch bootstraps on Alpha and i686, and checks out with no
  > torture or ph regressions on Alpha.
  > 
  > Comments?
An FYI, I don't think we should try to deal with this for egcs-1.2, even
though the primary motivation is to fix a ppc varargs/stdarg problem.

jeff


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