This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Strange RTL problem
- From: Chris Lattner <sabre at nondot dot org>
- To: <gcc at gcc dot gnu dot org>
- Date: Wed, 1 May 2002 15:08:51 -0500 (CDT)
- Subject: Re: Strange RTL problem
> This is really strange... does anyone have any idea what could be going
> wrong here? How are integral promotions different for vararg functions
> than they are for other function calls?
One thing I should have mentioned before is that my target does not define
_any_ of the PROMOTE_* macros at all. In particular, the description of
PROMOTE_PROTOTYPES sounds like it could be relevant:
"A C expression whose value is nonzero if an argument declared in a
prototype as an integral type smaller than int should actually be passed
as an int. In addition to avoiding errors in certain cases of mismatch,
it also makes for better code on certain machines. If the macro is not
defined in target header files, it defaults to 0."
Now I don't have any mismatch going on here, and I don't really want
values to be promoted that shouldn't be, so what is the best course of
action here? Are all values passed through varargs considered to be a
mismatch of an argument (since there IS effectively no prototype for those
parameters?)
Thanks,
-Chris
http://www.nondot.org/~sabre/os/
http://www.nondot.org/~sabre/Projects/