In convert_arguments I think you should be comparing TYPE_MAIN_VARIANT (valtype) against double_type_node and long_double_type_node, rather than just valtype.
This is PR c/35649 (so include that number in your ChangeLog entry and close that bug as fixed). -- Joseph S. Myers jos...@codesourcery.com