blob: 52e705d613806378ce05657644332667b6fb2b0d [file] [log] [blame]
/* Test recovery mode. */
/* { dg-do run } */
/* { dg-options "-fsanitize-recover=address" } */
/* { dg-set-target-env-var ASAN_OPTIONS "halt_on_error=false" } */
#include <string.h>
volatile int ten = 10;
int main() {
char x[10];
__builtin_memset(x, 0, ten + 1);
asm volatile ("" : : : "memory");
volatile int res = x[ten];
x[ten] = res + 3;
res = x[ten];
return 0;
}
/* { dg-output "WRITE of size 11 at 0x\[0-9a-f\]+ thread T0\[^\n\r]*(\n|\r\n|\r).*" } */
/* { dg-output "\[^\n\r]*READ of size 1 at 0x\[0-9a-f\]+ thread T0\[^\n\r]*(\n|\r\n|\r).*" } */
/* { dg-output "\[^\n\r]*WRITE of size 1 at 0x\[0-9a-f\]+ thread T0\[^\n\r]*(\n|\r\n|\r).*" } */
/* { dg-output "\[^\n\r]*READ of size 1 at 0x\[0-9a-f\]+ thread T0\[^\n\r]*(\n|\r\n|\r).*" } */