diff options
author | Richard Stallman <rms@gnu.org> | 1993-07-11 22:44:54 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-07-11 22:44:54 +0000 |
commit | 4bbbc5d906d1363fa6ca5fdf587c579120756a71 (patch) | |
tree | ec703d915e9e42ca93dcf3d43dc6176b9ab519a9 /gcc | |
parent | f0a5c7b7d334fb71876eb5819884ff6c01e83c49 (diff) | |
download | gcc-4bbbc5d906d1363fa6ca5fdf587c579120756a71.zip gcc-4bbbc5d906d1363fa6ca5fdf587c579120756a71.tar.gz gcc-4bbbc5d906d1363fa6ca5fdf587c579120756a71.tar.bz2 |
(convert_arguments): Don't warn about sign change for an INTEGER_CST inside NOP_EXPR, if value not fits new type.
(convert_arguments): Don't warn about sign change
for an INTEGER_CST inside NOP_EXPR, if value not fits new type.
Delete the code to check for VAL having enumeration type.
From-SVN: r4906
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-typeck.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 31aa96d..68c8946 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -2073,12 +2073,19 @@ convert_arguments (typelist, values, name, fundecl) /* Change in signedness doesn't matter if a constant value is unaffected. */ ; + /* Likewise for a constant in a NOP_EXPR. */ + else if (TREE_CODE (val) == NOP_EXPR + && TREE_CODE (TREE_OPERAND (val, 0)) == INTEGER_CST + && int_fits_type_p (TREE_OPERAND (val, 0), type)) + ; +#if 0 /* We never get such tree structure here. */ else if (TREE_CODE (TREE_TYPE (val)) == ENUMERAL_TYPE && int_fits_type_p (TYPE_MIN_VALUE (TREE_TYPE (val)), type) && int_fits_type_p (TYPE_MAX_VALUE (TREE_TYPE (val)), type)) /* Change in signedness doesn't matter if an enum value is unaffected. */ ; +#endif /* If the value is extended from a narrower unsigned type, it doesn't matter whether we pass it as signed or unsigned; the value |