File: prog_tsan.cpp

package info (click to toggle)
simgrid 4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 39,192 kB
  • sloc: cpp: 124,913; ansic: 66,744; python: 8,560; java: 6,773; fortran: 6,079; f90: 5,123; xml: 4,587; sh: 2,194; perl: 1,436; makefile: 111; lisp: 49; javascript: 7; sed: 6
file content (26 lines) | stat: -rw-r--r-- 872 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* Copyright (c) 2020-2025. The SimGrid Team. All rights reserved.          */

/* This program is free software; you can redistribute it and/or modify it
 * under the terms of the license (GNU LGPL) which comes with this package. */

/* Check availability of ThreadSanitizer */

#if defined(__has_feature)
#define HAS_FEATURE(x) __has_feature(x)
#else
#define HAS_FEATURE(x) 0
#endif

#if not HAS_FEATURE(thread_sanitizer) && not defined(__SANITIZE_THREAD__)
#error "TSan feature not found."
#endif

#if defined(CHECK_FIBER_SUPPORT)
#include <sanitizer/tsan_interface.h>
// Verify the existence of the fiber annotation interface, with the expected signature
void* (*create_fiber)(unsigned)       = __tsan_create_fiber;
void (*destroy_fiber)(void*)          = __tsan_destroy_fiber;
void (*switch_fiber)(void*, unsigned) = __tsan_switch_to_fiber;
#endif

int main(void) {}