diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0fb8a8c05145844dab11897fd612ad9e029faee4..7701fa03e3d900ed832f84180def9471c92ed84a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-06-04 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P. + (store_parm_decls): Likewise. + * c-typeck.c (convert_arguments): Likewise. + 2001-06-04 Richard Henderson <rth@redhat.com> * sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 7c02d0591d2f9c814bdae21a6f6c8e25f7141c0c..88a41f9f404977660c6249eb294774bf86a3d7d7 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -5155,8 +5155,7 @@ get_parm_info (void_at_end) tree type = TREE_TYPE (decl); DECL_ARG_TYPE (decl) = type; if (PROMOTE_PROTOTYPES - && (TREE_CODE (type) == INTEGER_TYPE - || TREE_CODE (type) == ENUMERAL_TYPE) + && INTEGRAL_TYPE_P (type) && TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node)) DECL_ARG_TYPE (decl) = integer_type_node; @@ -6443,8 +6442,7 @@ store_parm_decls () DECL_ARG_TYPE (parm) = TREE_TYPE (parm); if (PROMOTE_PROTOTYPES - && (TREE_CODE (TREE_TYPE (parm)) == INTEGER_TYPE - || TREE_CODE (TREE_TYPE (parm)) == ENUMERAL_TYPE) + && INTEGRAL_TYPE_P (TREE_TYPE (parm)) && TYPE_PRECISION (TREE_TYPE (parm)) < TYPE_PRECISION (integer_type_node)) DECL_ARG_TYPE (parm) = integer_type_node; diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 71dae28e909cb630c5937587a0e432f09c4e88ea..5705faafa0eef777046d12482163dbac894f28a4 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -1766,9 +1766,7 @@ convert_arguments (typelist, values, name, fundecl) fundecl, name, parmnum + 1); if (PROMOTE_PROTOTYPES - && (TREE_CODE (type) == INTEGER_TYPE - || TREE_CODE (type) == ENUMERAL_TYPE - || TREE_CODE (type) == BOOLEAN_TYPE) + && INTEGRAL_TYPE_P (type) && (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node))) parmval = default_conversion (parmval); }