1 | // RUN: %clangxx -frtti -fsanitize=vptr -fno-sanitize-recover=vptr -I%p/Helpers -g %s -fPIC -shared -o %dynamiclib -DBUILD_SO %ld_flags_rpath_so |
2 | // RUN: %clangxx -frtti -fsanitize=vptr -fno-sanitize-recover=vptr -I%p/Helpers -g %s -O3 -o %t %ld_flags_rpath_exe |
3 | // RUN: %run %t |
4 | // |
5 | // REQUIRES: cxxabi |
6 | // FIXME: Should pass on Android, but started failing around 2023-11-05 for unknown reasons. |
7 | // UNSUPPORTED: target={{.*(windows|android).*}} |
8 | |
9 | struct X { |
10 | virtual ~X() {} |
11 | }; |
12 | X *libCall(); |
13 | |
14 | #ifdef BUILD_SO |
15 | |
16 | X *libCall() { |
17 | return new X; |
18 | } |
19 | |
20 | #else |
21 | |
22 | int main() { |
23 | X *px = libCall(); |
24 | delete px; |
25 | } |
26 | |
27 | #endif |
28 | |