summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/analyzer/pr105366.c
blob: 3dba870e4e96031ae0cfe2ee68c6b4d445e014e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* { dg-require-effective-target int128 } */
/* { dg-additional-options "-O" } */

extern void bar(int);
extern void baz(void);

typedef unsigned u32;

void
foo(u32 u, __int128 i) {
  baz();
  _Complex int c = i;
  c /= (u32)(__UINTPTR_TYPE__)foo;
  short s = (short)(__UINTPTR_TYPE__)foo;
  u /= (_Complex short)s;
  u32 r = u + c;
  bar(r);
  foo(0, 0);
}