ipa: Add testcase for already fixed case [PR110705]
This testcase was fixed with r13-1695-gb0f02eeb906b63 which added an Ada testcase for the issue but adding a C testcase is a good idea and that is what this does. Committed after making sure it passes on x86_64-linux-gnu. PR ipa/110705 gcc/testsuite/ChangeLog: * gcc.c-torture/compile/pr110705-1.c: New test. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
This commit is contained in:
parent
6930e1f105
commit
17473a93cf
1 changed files with 27 additions and 0 deletions
27
gcc/testsuite/gcc.c-torture/compile/pr110705-1.c
Normal file
27
gcc/testsuite/gcc.c-torture/compile/pr110705-1.c
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* PR ipa/110705 */
|
||||
|
||||
/* We used to ICE in gimplify_modify_expr due to
|
||||
the gimplifier not handling VCE between an struct
|
||||
and an integer type. */
|
||||
|
||||
struct a {
|
||||
long b;
|
||||
};
|
||||
union d {
|
||||
struct a b;
|
||||
int e;
|
||||
}v;
|
||||
long c;
|
||||
int f;
|
||||
static void g(union d h, long i) {
|
||||
while (1)
|
||||
switch (c)
|
||||
case 4:
|
||||
if (h.e)
|
||||
c = 4;
|
||||
}
|
||||
void j(union d *h) {
|
||||
if (f)
|
||||
g(*h, h->b.b);
|
||||
}
|
||||
void k() { union d *h = &v; j(h); }
|
Loading…
Add table
Reference in a new issue