Do not erase warning data in gimple_set_location
commitcb1ecf3819f19a4fc35468010b66b5c1a7b21ee8
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 13 Jun 2022 08:03:36 +0000 (13 10:03 +0200)
committerEric Botcazou <ebotcazou@adacore.com>
Mon, 13 Jun 2022 11:35:33 +0000 (13 13:35 +0200)
tree82d4d3db3c65eb4cf3e013d3b0d6072945a170ec
parent6303eee4b92e8509409503a3abebde8bd50f0f05
Do not erase warning data in gimple_set_location

gimple_set_location is mostly invoked on newly built GIMPLE statements, so
their location is UNKNOWN_LOCATION and setting it will clobber the warning
data of the passed location, if any.

gcc/
* dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
* gimple.h (gimple_set_location): Do not copy warning data from
the previous location when it is UNKNOWN_LOCATION.
* optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
gcc/testsuite/
* c-c++-common/nonnull-1.c: Remove XFAIL for C++.
gcc/dwarf2out.cc
gcc/gimple.h
gcc/optabs.cc
gcc/testsuite/c-c++-common/nonnull-1.c