Commit 7fb90b98 by Richard Kenner

(convert_arguments): If PROMOTE_PROTOTYPE, promote all integral types

shorter than int, including short enums.

From-SVN: r5229
parent fd48df3e
...@@ -2042,7 +2042,8 @@ convert_arguments (typelist, values, name, fundecl) ...@@ -2042,7 +2042,8 @@ convert_arguments (typelist, values, name, fundecl)
/* Rather than truncating and then reextending, /* Rather than truncating and then reextending,
convert directly to int, if that's the type we will want. */ convert directly to int, if that's the type we will want. */
if (! flag_traditional if (! flag_traditional
&& TREE_CODE (type) == INTEGER_TYPE && (TREE_CODE (type) == INTEGER_TYPE
|| TREE_CODE (type) == ENUMERAL_TYPE)
&& (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node))) && (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node)))
type = integer_type_node; type = integer_type_node;
#endif #endif
...@@ -2145,7 +2146,8 @@ convert_arguments (typelist, values, name, fundecl) ...@@ -2145,7 +2146,8 @@ convert_arguments (typelist, values, name, fundecl)
fundecl, name, parmnum + 1); fundecl, name, parmnum + 1);
#ifdef PROMOTE_PROTOTYPES #ifdef PROMOTE_PROTOTYPES
if (TREE_CODE (type) == INTEGER_TYPE if ((TREE_CODE (type) == INTEGER_TYPE
|| TREE_CODE (type) == ENUMERAL_TYPE)
&& (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node))) && (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node)))
parmval = default_conversion (parmval); parmval = default_conversion (parmval);
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment