diff options
author | Marek Polacek <polacek@redhat.com> | 2017-08-09 08:51:20 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2017-08-09 08:51:20 +0000 |
commit | a32c8316ff282ec3eb60e222e91fb19998c12f46 (patch) | |
tree | 5c9606b760b22332192173cec1c9c8ba76d9dcb4 /gcc/input.c | |
parent | bc47a525cbd41692135f24607a52bd42e93400cb (diff) | |
download | gcc-a32c8316ff282ec3eb60e222e91fb19998c12f46.zip gcc-a32c8316ff282ec3eb60e222e91fb19998c12f46.tar.gz gcc-a32c8316ff282ec3eb60e222e91fb19998c12f46.tar.bz2 |
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
Diffstat (limited to 'gcc/input.c')
-rw-r--r-- | gcc/input.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/input.c b/gcc/input.c index 0480eb2..a01c504 100644 --- a/gcc/input.c +++ b/gcc/input.c @@ -898,6 +898,15 @@ make_location (location_t caret, location_t start, location_t finish) return combined_loc; } +/* Same as above, but taking a source range rather than two locations. */ + +location_t +make_location (location_t caret, source_range src_range) +{ + location_t pure_loc = get_pure_location (caret); + return COMBINE_LOCATION_DATA (line_table, pure_loc, src_range, NULL); +} + #define ONE_K 1024 #define ONE_M (ONE_K * ONE_K) |