* c-common.c (binary_op_error): Do not allow NOP_EXPR.
(c_common_truthvalue_conversion): Handle NOP_EXPR the same as CONVERT_EXPR. (check_function_arguments_recurse): Allow both NOP_EXPR and CONVERT_EXPR but check conversions preserve precision. * c-typeck.c (pointer_diff): Allow both NOP_EXPR and CONVERT_EXPR but check conversions preserve precision. (build_unary_op): Don't allow NOP_EXPR. Use gcc_unreachable () in default case. testsuite: * gcc.dg/format/cast-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108020 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 12 additions, 0 deletionsgcc/ChangeLog
- gcc/c-common.c 5 additions, 9 deletionsgcc/c-common.c
- gcc/c-typeck.c 13 additions, 6 deletionsgcc/c-typeck.c
- gcc/testsuite/ChangeLog 4 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.dg/format/cast-1.c 16 additions, 0 deletionsgcc/testsuite/gcc.dg/format/cast-1.c
Loading
Please register or sign in to comment