aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.compile/Case.java
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2022-02-10 19:01:30 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2022-02-11 08:46:05 -0500
commitcc68ad87014a331399ccb2528db3bf47fabe6f72 (patch)
tree8020fd5971b9177d75c2b8fada0c03f6b8e927eb /libjava/testsuite/libjava.compile/Case.java
parentae117af43944101ca47b99b743c85a3c528b4b4f (diff)
downloadgcc-cc68ad87014a331399ccb2528db3bf47fabe6f72.zip
gcc-cc68ad87014a331399ccb2528db3bf47fabe6f72.tar.gz
gcc-cc68ad87014a331399ccb2528db3bf47fabe6f72.tar.bz2
analyzer: ignore uninitialized uses of empty types [PR104274]
PR analyzer/104274 reports a false positive from -Wanalyzer-use-of-uninitialized-value on hppa when passing an empty struct as a function parameter. pa_pass_by_reference returns true for empty structs, so the call is turned into: struct empty arg.0; arg.0 = arg called_function (arg.0); by gimplify_parameters. However, gimplify_modify_expr discards assignments statments of empty types, so that we end up with: struct empty arg.0; called_function (arg.0); which the analyzer considers to be a use of uninitialized "arg.0"; Given that gimplify_modify_expr will discard any assignments to such types, it seems simplest for -Wanalyzer-use-of-uninitialized-value to ignore values of empty types. gcc/analyzer/ChangeLog: PR analyzer/104274 * region-model.cc (region_model::check_for_poison): Ignore uninitialized uses of empty types. gcc/testsuite/ChangeLog: PR analyzer/104274 * gcc.dg/analyzer/torture/empty-struct-1.c: New test. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'libjava/testsuite/libjava.compile/Case.java')
0 files changed, 0 insertions, 0 deletions