PR c++/65051
[official-gcc.git] / gcc / testsuite / g++.dg / ubsan / vptr-5.C
blobfb9d15cc99ef7eb88b9b0f1e11e536ec090bae4b
1 // { dg-do run }
2 // { dg-options "-fsanitize=vptr" }
4 struct S
6   S() : a(0) {}
7   ~S() {}
8   int a;
9   int f() { return 0; }
10   virtual int v() { return 0; }
13 struct T : S
15   T() : b(0) {}
16   int b;
17   int g() { return 0; }
18   virtual int v() { return 1; }
21 T *
22 foo (S *p)
24   return (T *) p;
27 int
28 main ()
30   if (foo (__null) != __null)
31     __builtin_abort ();