1/*
2 Copyright (c) 2005-2019 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