Go to the documentation of this file.
34# include "G4GlobalConfig.hh"
40# if defined(G4MULTITHREADED)
41# if(defined(__MACH__) && defined(__clang__)) || \
42 (defined(__linux__) && defined(__clang__))
43# define G4ThreadLocalStatic static thread_local
44# define G4ThreadLocal thread_local
45# elif((defined(__linux__) || defined(__MACH__)) && \
46 !defined(__INTEL_COMPILER) && defined(__GNUC__) && \
47 (__GNUC__ >= 4 && __GNUC_MINOR__ < 9))
48# define G4ThreadLocalStatic static __thread
49# define G4ThreadLocal thread_local
50# elif((defined(__linux__) || defined(__MACH__)) && \
51 !defined(__INTEL_COMPILER) && defined(__GNUC__) && \
52 (__GNUC__ >= 4 && __GNUC_MINOR__ >= 9) || \
54# define G4ThreadLocalStatic static thread_local
55# define G4ThreadLocal thread_local
56# elif((defined(__linux__) || defined(__MACH__)) && \
57 defined(__INTEL_COMPILER))
58# if __INTEL_COMPILER >= 1500
59# define G4ThreadLocalStatic static thread_local
60# define G4ThreadLocal thread_local
62# define G4ThreadLocalStatic static __thread
63# define G4ThreadLocal __thread
66# define G4ThreadLocalStatic static thread_local
67# define G4ThreadLocal thread_local
69# define G4ThreadLocalStatic static thread_local
70# define G4ThreadLocal thread_local
73 "No Thread Local Storage (TLS) technology supported for this platform. Use sequential build !"
76# define G4ThreadLocalStatic static