Update ChangeLog and version files for release
[official-gcc.git] / gcc / testsuite / g++.dg / ubsan / vptr-6.C
blob1e595c50c9e4b3a4f06a493fdfe3e0d80ed6f217
1 // { dg-do compile }
2 // { dg-skip-if "" { *-*-* } { "-flto" } { "" } }
3 // { dg-options "-fsanitize=vptr -O2 -fdump-tree-optimized" }
5 struct S { virtual ~S (); int i; _Complex int j[5]; };
7 int
8 f1 (S *p)
10   return p->i;
13 int
14 f2 (S *p)
16   return *&p->i;
19 _Complex int *
20 f3 (S *p, S *q)
22   return &p->j[q->i];
25 int
26 f4 (S &p, S &q)
28   return __imag__ p.j[q.i];
31 // { dg-final { scan-tree-dump-times "__ubsan_handle_dynamic_type_cache_miss" 5 "optimized" } }
32 // { dg-final { cleanup-tree-dump "optimized" } }