re PR c/81417 (-Wsign-compare should print types being compared)
authorMarek Polacek <polacek@redhat.com>
Wed, 9 Aug 2017 08:51:20 +0000 (08:51 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Wed, 9 Aug 2017 08:51:20 +0000 (08:51 +0000)
commita32c8316ff282ec3eb60e222e91fb19998c12f46
tree5c9606b760b22332192173cec1c9c8ba76d9dcb4
parentbc47a525cbd41692135f24607a52bd42e93400cb
re PR c/81417 (-Wsign-compare should print types being compared)

PR c/81417
* c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
build_conditional_expr.
* c-parser.c (c_parser_conditional_expression): Create locations for
EXP1 and EXP2 from their source ranges.  Pass the locations down to
build_conditional_expr.
* c-tree.h (build_conditional_expr): Update declaration.
* c-typeck.c (build_conditional_expr): Add location_t parameters.
For -Wsign-compare, also print the types.

* input.c (make_location): New overload.
* input.h (make_location): Declare.

* objc-next-runtime-abi-02.c (build_v2_build_objc_method_call): Update
a call to build_conditional_expr.

* Wsign-compare-1.c: New test.
* gcc.dg/compare1.c: Adjust dg-bogus.
* gcc.dg/compare2.c: Likewise.
* gcc.dg/compare3.c: Likewise.
* gcc.dg/compare7.c: Likewise.
* gcc.dg/compare8.c: Likewise.
* gcc.dg/compare9.c: Likewise.
* gcc.dg/pr11492.c: Likewise.

From-SVN: r250984
19 files changed:
gcc/ChangeLog
gcc/c/ChangeLog
gcc/c/c-array-notation.c
gcc/c/c-parser.c
gcc/c/c-tree.h
gcc/c/c-typeck.c
gcc/input.c
gcc/input.h
gcc/objc/ChangeLog
gcc/objc/objc-next-runtime-abi-02.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Wsign-compare-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/compare1.c
gcc/testsuite/gcc.dg/compare2.c
gcc/testsuite/gcc.dg/compare3.c
gcc/testsuite/gcc.dg/compare7.c
gcc/testsuite/gcc.dg/compare8.c
gcc/testsuite/gcc.dg/compare9.c
gcc/testsuite/gcc.dg/pr11492.c