[Bug rtl-optimization/64037] Miscompilation with LTO and enum class : char parameter

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Nov 24 21:39:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64037

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ubizjak at gmail dot com

--- Comment #11 from H.J. Lu <hjl.tools at gmail dot com> ---
i386.c has

#define TARGET_PROMOTE_PROTOTYPES hook_bool_const_tree_true

 -- Target Hook: bool TARGET_PROMOTE_PROTOTYPES (const_tree FNTYPE)
     This target hook returns 'true' 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.  The default is to not promote prototypes.

But it uses movq to pass a QI parameter.



More information about the Gcc-bugs mailing list