1// RUN: %clangxx_asan -O0 %s -o %t
2// RUN: not %run %t 0 2>&1 | FileCheck %s
3
4#include "defines.h"
5#include <sanitizer/asan_interface.h>
6#include <stdio.h>
7
8static void ErrorReportCallbackOneToZ(const char *report) {
9 fprintf(stderr, format: "ABCDEF%sGHIJKL", report);
10 fflush(stderr);
11}
12
13int main(int argc, char **argv) {
14 __asan_set_error_report_callback(callback: ErrorReportCallbackOneToZ);
15 __asan_report_error(pc: (void *)EXTRACT_RETURN_ADDRESS, bp: 0, sp: 0, addr: 0, is_write: true, access_size: 1);
16 // CHECK: ABCDEF
17 // CHECK: ERROR: AddressSanitizer
18 // CHECK: GHIJKL
19 return 0;
20}
21

Provided by KDAB

Privacy Policy
Update your C++ knowledge – Modern C++11/14/17 Training
Find out more

source code of compiler-rt/test/asan/TestCases/error_report_callback.cpp