miri/concurrency/mod.rs
1pub mod cpu_affinity;
2pub mod data_race;
3mod data_race_handler;
4pub mod init_once;
5mod range_object_map;
6pub mod sync;
7pub mod thread;
8mod vector_clock;
9pub mod weak_memory;
10
11// cfg(bootstrap)
12macro_rules! cfg_select_dispatch {
13 ($($tokens:tt)*) => {
14 #[cfg(bootstrap)]
15 cfg_match! { $($tokens)* }
16
17 #[cfg(not(bootstrap))]
18 cfg_select! { $($tokens)* }
19 };
20}
21
22// Import either the real genmc adapter or a dummy module.
23cfg_select_dispatch! {
24 feature = "genmc" => {
25 mod genmc;
26 pub use self::genmc::{GenmcCtx, GenmcConfig};
27 }
28 _ => {
29 #[path = "genmc/dummy.rs"]
30 mod genmc_dummy;
31 use self::genmc_dummy as genmc;
32 pub use self::genmc::{GenmcCtx, GenmcConfig};
33 }
34}
35
36pub use self::data_race_handler::{AllocDataRaceHandler, GlobalDataRaceHandler};
37pub use self::vector_clock::VClock;