blob: feff0f5aa5d4f300b542b0c7f40c1ea9900e897b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
// RUN: %clangxx -fsanitize=address,function %s -O3 -g -o %t
// RUN: %t 2>&1 | FileCheck %s
#include <stdint.h>
void f() {}
void g(int x) {}
int main(void) {
// CHECK: runtime error: call to function f() through pointer to incorrect function type 'void (*)(int)'
// CHECK-NEXT: function.cpp:6: note: f() defined here
reinterpret_cast<void (*)(int)>(reinterpret_cast<uintptr_t>(f))(42);
// CHECK-NOT: runtime error: call to function g
reinterpret_cast<void (*)(int)>(reinterpret_cast<uintptr_t>(g))(42);
}
|