http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57926
Andrew Macleod <amacleod at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rth at gcc dot gnu.org
--- Comment #9 from Andrew Macleod <amacleod at redhat dot com> ---
I don't know either.. that parameter checking stuff is all inherited from the
original __sync code.
resolve_overloaded_builtin() is called avery early and it takes care of
everything, telling the call handling code to not do anything else.
In C it would have to call array_to_pointer_conversion() for arrays, and
decay_conversion for c++.. ugg. that means it needs to be done *before* the
overloaded resolution. Thats pretty ugly.
Im going to copy rth since he wrote this code originally. Maybe he knows the
easy shortcut :-)
Andrew