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