23 #include "dtool_config.h" 26 #if defined(_WIN32) || defined(_WIN64) 43 #pragma warning (disable : 4231) 45 #pragma warning (disable : 4786) 47 #pragma warning (disable : 4251) 49 #pragma warning (disable : 4503) 51 #pragma warning (disable : 4305) 53 #pragma warning (disable : 4250) 55 #pragma warning (disable : 4355) 57 #pragma warning (disable : 4244) 59 #pragma warning (disable : 4267) 76 # define NODEFAULT default: assert(0); 78 # define NODEFAULT default: __assume(0); // special VC keyword 83 # define NODEFAULT default: assert(0); 97 #define _WIN32_WINNT 0x0502 100 #ifndef __STDC_LIMIT_MACROS 101 #define __STDC_LIMIT_MACROS 103 #ifndef __STDC_CONSTANT_MACROS 104 #define __STDC_CONSTANT_MACROS 111 #include <sys/cdefs.h> 112 #ifndef __extern_always_inline 113 #define __extern_always_inline extern __always_inline 118 #undef _POSIX_C_SOURCE 120 #include "pyconfig.h" 128 #include "dtoolsymbols.h" 136 #define _FILE_OFFSET_BITS 64 137 #define _LARGEFILE_SOURCE 1 144 #ifdef PHAVE_SYS_TYPES_H 145 #include <sys/types.h> 148 #ifdef PHAVE_MALLOC_H 152 #ifdef PHAVE_SYS_MALLOC_H 153 #include <sys/malloc.h> 156 #ifdef PHAVE_ALLOCA_H 160 #ifdef PHAVE_UNISTD_H 168 #ifdef PHAVE_LOCALE_H 172 #ifdef PHAVE_STRING_H 176 #ifdef PHAVE_STDLIB_H 180 #ifdef PHAVE_LIMITS_H 184 #ifdef PHAVE_MINMAX_H 188 #ifdef PHAVE_SYS_TIME_H 189 #include <sys/time.h> 192 #ifdef PHAVE_STDINT_H 197 #include <stdtypedefs.h> 207 #include <Profile/Profiler.h> 212 #define TAU_TYPE_STRING(profileString, str) 213 #define TAU_PROFILE(name, type, group) 214 #define TAU_PROFILE_TIMER(var, name, type, group) 215 #define TAU_PROFILE_START(var) 216 #define TAU_PROFILE_STOP(var) 217 #define TAU_PROFILE_STMT(stmt) 218 #define TAU_PROFILE_EXIT(msg) 219 #define TAU_PROFILE_INIT(argc, argv) 220 #define TAU_PROFILE_SET_NODE(node) 221 #define TAU_PROFILE_SET_CONTEXT(context) 222 #define TAU_PROFILE_SET_GROUP_NAME(newname) 223 #define TAU_PROFILE_TIMER_SET_GROUP_NAME(t, newname) 224 #define TAU_PROFILE_CALLSTACK() 225 #define TAU_DB_DUMP() 226 #define TAU_DB_PURGE() 228 #define TAU_REGISTER_CONTEXT_EVENT(event, name) 229 #define TAU_CONTEXT_EVENT(event, data) 230 #define TAU_DISABLE_CONTEXT_EVENT(event) 231 #define TAU_ENABLE_CONTEXT_EVENT(event) 233 #define TAU_REGISTER_EVENT(event, name) 234 #define TAU_EVENT(event, data) 235 #define TAU_EVENT_DISABLE_MIN(event) 236 #define TAU_EVENT_DISABLE_MAX(event) 237 #define TAU_EVENT_DISABLE_MEAN(event) 238 #define TAU_EVENT_DISABLE_STDDEV(event) 239 #define TAU_REPORT_STATISTICS() 240 #define TAU_REPORT_THREAD_STATISTICS() 241 #define TAU_REGISTER_THREAD() 242 #define TAU_REGISTER_FORK(id, op) 243 #define TAU_ENABLE_INSTRUMENTATION() 244 #define TAU_DISABLE_INSTRUMENTATION() 245 #define TAU_ENABLE_GROUP(group) 246 #define TAU_DISABLE_GROUP(group) 247 #define TAU_ENABLE_GROUP_NAME(group) 248 #define TAU_DISABLE_GROUP_NAME(group) 249 #define TAU_ENABLE_ALL_GROUPS() 250 #define TAU_DISABLE_ALL_GROUPS() 251 #define TAU_TRACK_MEMORY() 252 #define TAU_TRACK_MEMORY_HERE() 253 #define TAU_ENABLE_TRACKING_MEMORY() 254 #define TAU_DISABLE_TRACKING_MEMORY() 255 #define TAU_TRACK_MEMORY() 256 #define TAU_TRACK_MEMORY_HERE() 257 #define TAU_ENABLE_TRACKING_MUSE_EVENTS() 258 #define TAU_DISABLE_TRACKING_MUSE_EVENTS() 259 #define TAU_TRACK_MUSE_EVENTS() 260 #define TAU_SET_INTERRUPT_INTERVAL(value) 262 #define TAU_TRACE_SENDMSG(type, destination, length) 263 #define TAU_TRACE_RECVMSG(type, source, length) 265 #define TAU_MAPPING(stmt, group) stmt 266 #define TAU_MAPPING_OBJECT(FuncInfoVar) 267 #define TAU_MAPPING_LINK(FuncInfoVar, Group) 268 #define TAU_MAPPING_PROFILE(FuncInfoVar) 269 #define TAU_MAPPING_CREATE(name, type, key, groupname, tid) 270 #define TAU_MAPPING_PROFILE_TIMER(Timer, FuncInfoVar, tid) 271 #define TAU_MAPPING_TIMER_CREATE(t, name, type, gr, group_name) 272 #define TAU_MAPPING_PROFILE_START(Timer, tid) 273 #define TAU_MAPPING_PROFILE_STOP(tid) 274 #define TAU_MAPPING_PROFILE_EXIT(msg, tid) 275 #define TAU_MAPPING_DB_DUMP(tid) 276 #define TAU_MAPPING_DB_PURGE(tid) 277 #define TAU_MAPPING_PROFILE_SET_NODE(node, tid) 278 #define TAU_MAPPING_PROFILE_SET_GROUP_NAME(timer, name) 279 #define TAU_PROFILE_TIMER_SET_NAME(t, newname) 280 #define TAU_PROFILE_TIMER_SET_TYPE(t, newname) 281 #define TAU_PROFILE_TIMER_SET_GROUP(t, id) 282 #define TAU_MAPPING_PROFILE_SET_NAME(timer, name) 283 #define TAU_MAPPING_PROFILE_SET_TYPE(timer, name) 284 #define TAU_MAPPING_PROFILE_SET_GROUP(timer, id) 285 #define TAU_MAPPING_PROFILE_GET_GROUP_NAME(timer) 286 #define TAU_MAPPING_PROFILE_GET_GROUP(timer) 287 #define TAU_MAPPING_PROFILE_GET_NAME(timer) 288 #define TAU_MAPPING_PROFILE_GET_TYPE(timer) 290 #define TAU_PHASE(name, type, group) 291 #define TAU_PHASE_CREATE_STATIC(var, name, type, group) 292 #define TAU_PHASE_CREATE_DYNAMIC(var, name, type, group) 293 #define TAU_PHASE_START(var) 294 #define TAU_PHASE_STOP(var) 295 #define TAU_GLOBAL_PHASE(timer, name, type, group) 296 #define TAU_GLOBAL_PHASE_START(timer) 297 #define TAU_GLOBAL_PHASE_STOP(timer) 298 #define TAU_GLOBAL_PHASE_EXTERNAL(timer) 299 #define TAU_GLOBAL_TIMER(timer, name, type, group) 300 #define TAU_GLOBAL_TIMER_EXTERNAL(timer) 301 #define TAU_GLOBAL_TIMER_START(timer) 302 #define TAU_GLOBAL_TIMER_STOP() 315 #if defined(__LITTLE_ENDIAN__) || defined(__i386__) 316 #undef WORDS_BIGENDIAN 318 #elif defined(__BIG_ENDIAN__) || defined(__ppc__) 319 #undef WORDS_BIGENDIAN 320 #define WORDS_BIGENDIAN 1 327 #define NATIVE_WORDSIZE __WORDSIZE 329 #define NATIVE_WORDSIZE 64 331 #define NATIVE_WORDSIZE 32 341 #elif defined(_MSC_VER) 342 #define ALIGN_4BYTE __declspec(align(4)) 343 #define ALIGN_8BYTE __declspec(align(8)) 344 #define ALIGN_16BYTE __declspec(align(16)) 345 #define ALIGN_32BYTE __declspec(align(32)) 346 #define ALIGN_64BYTE __declspec(align(64)) 347 #elif defined(__GNUC__) 348 #define ALIGN_4BYTE __attribute__ ((aligned (4))) 349 #define ALIGN_8BYTE __attribute__ ((aligned (8))) 350 #define ALIGN_16BYTE __attribute__ ((aligned (16))) 351 #define ALIGN_32BYTE __attribute__ ((aligned (32))) 352 #define ALIGN_64BYTE __attribute__ ((aligned (64))) 364 #if !defined(LINMATH_ALIGN) 367 #undef MEMORY_HOOK_DO_ALIGN 369 #elif defined(USE_MEMORY_DLMALLOC) 372 #undef MEMORY_HOOK_DO_ALIGN 374 #elif defined(USE_MEMORY_PTMALLOC2) 378 #define MEMORY_HOOK_DO_ALIGN 1 380 #elif (defined(IS_OSX) || defined(_WIN64)) && !defined(__AVX__) 383 #undef MEMORY_HOOK_DO_ALIGN 385 #elif defined(MEMORY_HOOK_DO_ALIGN) 393 #define USE_MEMORY_DLMALLOC 1 398 #if defined(USE_MEMORY_PTMALLOC2) || defined(USE_MEMORY_DLMALLOC) || defined(DO_MEMORY_USAGE) || defined(MEMORY_HOOK_DO_ALIGN) 404 #define USE_MEMORY_NOWRAPPERS 1 409 #define USE_STL_ALLOCATOR 1 419 #define BEGIN_PUBLISH __begin_publish 420 #define END_PUBLISH __end_publish 421 #define BLOCKING __blocking 422 #define MAKE_PROPERTY(property_name, ...) __make_property(property_name, __VA_ARGS__) 423 #define MAKE_SEQ(seq_name, num_name, element_name) __make_seq(seq_name, num_name, element_name) 424 #undef USE_STL_ALLOCATOR 425 #define EXTENSION(x) __extension x 426 #define EXTEND __extension 428 #define BEGIN_PUBLISH 431 #define MAKE_PROPERTY(property_name, ...) 432 #define MAKE_SEQ(seq_name, num_name, element_name) 438 #if defined(WIN32_VC) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) 439 #define EXPORT_CLASS __declspec(dllexport) 440 #define IMPORT_CLASS __declspec(dllimport) 446 #if defined(WIN32_VC) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) 448 #define IMPORT_TEMPL extern 455 #include "dtoolbase_cc.h"