Bump version to 15.0.4
[platform/upstream/llvm.git] / utils / bazel / llvm-project-overlay / clang / include / clang / Config / config.h
1 /*===------- clang/Config/config.h - llvm configuration -----------*- C -*-===*/
2 /*                                                                            */
3 /* Part of the LLVM Project, under the Apache License v2.0 with LLVM          */
4 /* Exceptions.                                                                */
5 /* See https://llvm.org/LICENSE.txt for license information.                  */
6 /* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    */
7 /*                                                                            */
8 /*===----------------------------------------------------------------------===*/
9
10 /* This is a manual port of config.h.cmake for the symbols that do not change
11    based on platform. Those that do change should not be defined here and
12    instead use Bazel cc_library defines. Some attempt has been made to extract
13    such symbols that do vary based on platform (for the platforms we care about)
14    into Bazel defines, but it is by no means complete, so if you see something
15    that looks wrong, it probably is. */
16
17 #ifdef CLANG_CONFIG_H
18 #error config.h can only be included once
19 #else
20 #define CLANG_CONFIG_H
21
22 /* Bug report URL. */
23 #define BUG_REPORT_URL "https://github.com/llvm/llvm-project/issues/"
24
25 /* Default to -fPIE and -pie on Linux. */
26 #define CLANG_DEFAULT_PIE_ON_LINUX 1
27
28 /* Default linker to use. */
29 #define CLANG_DEFAULT_LINKER ""
30
31 /* Default C/ObjC standard to use. */
32 /* #undef CLANG_DEFAULT_STD_C */
33 /* Always #define something so that missing the config.h #include at use sites
34  * becomes a compile error.
35  */
36 #ifndef CLANG_DEFAULT_STD_C
37 #define CLANG_DEFAULT_STD_C LangStandard::lang_unspecified
38 #endif
39
40 /* Default C++/ObjC++ standard to use. */
41 /* #undef CLANG_DEFAULT_STD_CXX */
42 /* Always #define something so that missing the config.h #include at use sites
43  * becomes a compile error.
44  */
45 #ifndef CLANG_DEFAULT_STD_CXX
46 #define CLANG_DEFAULT_STD_CXX LangStandard::lang_unspecified
47 #endif
48
49 /* Default C++ stdlib to use. */
50 #define CLANG_DEFAULT_CXX_STDLIB ""
51
52 /* Default runtime library to use. */
53 #define CLANG_DEFAULT_RTLIB ""
54
55 /* Default unwind library to use. */
56 #define CLANG_DEFAULT_UNWINDLIB ""
57
58 /* Default objcopy to use */
59 #define CLANG_DEFAULT_OBJCOPY "objcopy"
60
61 /* Default OpenMP runtime used by -fopenmp. */
62 #define CLANG_DEFAULT_OPENMP_RUNTIME "libomp"
63
64 /* Default architecture for OpenMP offloading to Nvidia GPUs. */
65 #define CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_35"
66
67 /* Default architecture for SystemZ. */
68 #define CLANG_SYSTEMZ_DEFAULT_ARCH "z10"
69
70 /* Multilib suffix for libdir. */
71 #define CLANG_LIBDIR_SUFFIX ""
72
73 /* Relative directory for resource files */
74 #define CLANG_RESOURCE_DIR ""
75
76 /* Directories clang will search for headers */
77 #define C_INCLUDE_DIRS ""
78
79 /* Directories clang will search for configuration files */
80 /* #undef CLANG_CONFIG_FILE_SYSTEM_DIR */
81 /* #undef CLANG_CONFIG_FILE_USER_DIR */
82
83 /* Default <path> to all compiler invocations for --sysroot=<path>. */
84 #define DEFAULT_SYSROOT ""
85
86 /* Directory where gcc is installed. */
87 #define GCC_INSTALL_PREFIX ""
88
89 /* Define if we have libxml2 */
90 /* #undef CLANG_HAVE_LIBXML */
91
92 /* Define if we have sys/resource.h (rlimits) */
93 /* CLANG_HAVE_RLIMITS defined conditionally below */
94
95 /* The LLVM product name and version */
96 #define BACKEND_PACKAGE_STRING "LLVM 15.0.4"
97
98 /* Linker version detected at compile time. */
99 /* #undef HOST_LINK_VERSION */
100
101 /* pass --build-id to ld */
102 /* #undef ENABLE_LINKER_BUILD_ID */
103
104 /* enable x86 relax relocations by default */
105 #define ENABLE_X86_RELAX_RELOCATIONS 1
106
107 /* enable IEEE binary128 as default long double format on PowerPC Linux. */
108 #define PPC_LINUX_DEFAULT_IEEELONGDOUBLE 0
109
110 /* Enable the experimental new pass manager by default */
111 #define ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER 0
112
113 /* Enable each functionality of modules */
114 #define CLANG_ENABLE_ARCMT 1
115 #define CLANG_ENABLE_OBJC_REWRITER 1
116 #define CLANG_ENABLE_STATIC_ANALYZER 1
117
118 /* Spawn a new process clang.exe for the CC1 tool invocation, when necessary */
119 #define CLANG_SPAWN_CC1 0
120
121 /* Whether to enable opaque pointers by default */
122 #define CLANG_ENABLE_OPAQUE_POINTERS_INTERNAL 1
123
124 /* Directly provide definitions here behind platform preprocessor definitions.
125  * The preprocessor conditions are sufficient to handle all of the configuration
126  * on platforms targeted by Bazel, and defining these here more faithfully
127  * matches how the users of this header expect things to work with CMake.
128  */
129
130 #ifndef _WIN32
131 #define CLANG_HAVE_RLIMITS 1
132 #endif
133
134 #endif