1 /* 2 Copyright (c) 2005-2021 Intel Corporation 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 #ifndef _itt_shared_malloc_TypeDefinitions_H_ 18 #define _itt_shared_malloc_TypeDefinitions_H_ 19 20 // Define preprocessor symbols used to determine architecture 21 #if _WIN32||_WIN64 22 # if defined(_M_X64)||defined(__x86_64__) // the latter for MinGW support 23 # define __ARCH_x86_64 1 24 # elif defined(_M_IA64) 25 # define __ARCH_ipf 1 26 # elif defined(_M_IX86)||defined(__i386__) // the latter for MinGW support 27 # define __ARCH_x86_32 1 28 # elif defined(_M_ARM) 29 # define __ARCH_other 1 30 # else 31 # error Unknown processor architecture for Windows 32 # endif 33 # define USE_WINTHREAD 1 34 #else /* Assume generic Unix */ 35 # if __x86_64__ 36 # define __ARCH_x86_64 1 37 # elif __ia64__ 38 # define __ARCH_ipf 1 39 # elif __i386__ || __i386 40 # define __ARCH_x86_32 1 41 # else 42 # define __ARCH_other 1 43 # endif 44 # define USE_PTHREAD 1 45 #endif 46 47 // According to C99 standard INTPTR_MIN defined for C++ 48 // iff __STDC_LIMIT_MACROS pre-defined 49 #ifndef __STDC_LIMIT_MACROS 50 #define __STDC_LIMIT_MACROS 1 51 #endif 52 53 //! PROVIDE YOUR OWN Customize.h IF YOU FEEL NECESSARY 54 #include "Customize.h" 55 56 #include "shared_utils.h" 57 58 #endif /* _itt_shared_malloc_TypeDefinitions_H_ */ 59