Go to the documentation of this file. 36 #if defined (G4MULTITHREADED) 37 #if ( defined(__MACH__) && defined(__clang__) && defined(__x86_64__) ) || \ 38 ( defined(__linux__) && defined(__clang__) ) 39 #if (defined (G4USE_STD11) && __has_feature(cxx_thread_local)) 40 # define G4ThreadLocalStatic static thread_local 41 # define G4ThreadLocal thread_local 43 # define G4ThreadLocalStatic static __thread 44 # define G4ThreadLocal __thread 46 #elif ( (defined(__linux__) || defined(__MACH__)) && \ 47 !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__>=4 && __GNUC_MINOR__<9) || __GNUC__>=5 ) 48 #if defined (G4USE_STD11) 49 # define G4ThreadLocalStatic static __thread 50 # define G4ThreadLocal thread_local 52 # define G4ThreadLocalStatic static __thread 53 # define G4ThreadLocal __thread 55 #elif ( (defined(__linux__) || defined(__MACH__)) && \ 56 !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__>=4 && __GNUC_MINOR__>=9) || __GNUC__>=5 ) 57 #if defined (G4USE_STD11) 58 # define G4ThreadLocalStatic static thread_local 59 # define G4ThreadLocal thread_local 61 # define G4ThreadLocalStatic static __thread 62 # define G4ThreadLocal __thread 64 #elif ( (defined(__linux__) || defined(__MACH__)) && \ 65 defined(__INTEL_COMPILER) ) 66 #if (defined (G4USE_STD11) && __INTEL_COMPILER>=1500) 67 # define G4ThreadLocalStatic static thread_local 68 # define G4ThreadLocal thread_local 70 # define G4ThreadLocalStatic static __thread 71 # define G4ThreadLocal __thread 74 #if defined (G4USE_STD11) 75 # define G4ThreadLocalStatic static thread_local 76 # define G4ThreadLocal thread_local 78 # define G4ThreadLocalStatic static __thread 79 # define G4ThreadLocal __thread 82 # define G4ThreadLocalStatic static __declspec(thread) 83 # define G4ThreadLocal __declspec(thread) 85 # error "No Thread Local Storage (TLS) technology supported for this platform. Use sequential build !" 88 # define G4ThreadLocalStatic static 89 # define G4ThreadLocal