// RUN: %clangxx_hwasan %s -o %t && not %run %t 2>&1 | FileCheck %s

#include <stdio.h>
#include <stdlib.h>

#include <sanitizer/hwasan_interface.h>

__attribute__((no_sanitize("hwaddress"))) extern "C" void callback(const char *msg) {
  fprintf(stderr, "== error start\n%s\n== error end\n", msg);
}

int main() {
  __hwasan_enable_allocator_tagging();
  __hwasan_set_error_report_callback(&callback);
  char *volatile p = (char *)malloc(16);
  p[16] = 1;
  free(p);
  // CHECK: ERROR: HWAddressSanitizer:
  // CHECK: WRITE of size 1 at
  // CHECK: allocated by thread {{.*}} here:
  // CHECK: Memory tags around the buggy address

  // CHECK: == error start
  // CHECK: ERROR: HWAddressSanitizer:
  // CHECK: WRITE of size 1 at
  // CHECK: allocated by thread {{.*}} here:
  // CHECK: Memory tags around the buggy address
  // CHECK: == error end
}
