analyzer: add test coverage for fixed ICE [PR94047]
PR analyzer/94047 reports an ICE, which turned out to be caused by the erroneous use of TREE_TYPE on the view region's type in region_model::get_representative_path_var that I introduced in r10-7024-ge516294a1acb28aaaad44cfd583cc6a80354044e and fixed in g:787477a226033e36be3f6d16b71be13dd917e982. This patch adds a regression test for the ICE. gcc/testsuite/ChangeLog: PR analyzer/94047 * gcc.dg/analyzer/pr94047.c: New test.
This commit is contained in:
parent
7d9c107ab1
commit
f665beeba6
2 changed files with 28 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2020-03-18 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
PR analyzer/94047
|
||||
* gcc.dg/analyzer/pr94047.c: New test.
|
||||
|
||||
2020-03-18 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/94206
|
||||
|
|
23
gcc/testsuite/gcc.dg/analyzer/pr94047.c
Normal file
23
gcc/testsuite/gcc.dg/analyzer/pr94047.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* { dg-additional-options "-Wno-analyzer-too-complex" } */
|
||||
/* TODO: the above ought not to be necessary, but currently is due to a
|
||||
state explosion within the for loop. */
|
||||
|
||||
typedef struct list
|
||||
{
|
||||
struct list *next;
|
||||
} tlist;
|
||||
|
||||
void
|
||||
bar (struct list *l)
|
||||
{
|
||||
l->next = l->next->next;
|
||||
}
|
||||
|
||||
void
|
||||
foo (void)
|
||||
{
|
||||
struct list l;
|
||||
tlist t = l;
|
||||
for (;;)
|
||||
bar (&t);
|
||||
}
|
Loading…
Add table
Reference in a new issue