OSDN Git Service

am 1d70b3af: am 5a622b72: Merge "Pass LSAN_OPTIONS down so that it is possible to...
[android-x86/external-llvm.git] / patches / 0002-Add-basic-Android-configuration.patch
1 From 75d1e0c4b102d6c244e10b83427ca5a52b89cab6 Mon Sep 17 00:00:00 2001
2 From: Tim Murray <timmurray@google.com>
3 Date: Thu, 27 Mar 2014 14:04:43 -0700
4 Subject: [PATCH 2/5] Add basic Android configuration.
5
6 Change-Id: I0102d75a076e96e15606cbecc86b069c0fc43bf1
7 ---
8  device/include/llvm/Config/AsmParsers.def    |  39 ++
9  device/include/llvm/Config/AsmPrinters.def   |  39 ++
10  device/include/llvm/Config/Disassemblers.def |  39 ++
11  device/include/llvm/Config/Targets.def       |  38 ++
12  device/include/llvm/Config/config.h          | 689 +++++++++++++++++++++++++
13  device/include/llvm/Config/llvm-config.h     |  94 ++++
14  host/include/llvm/Config/AsmParsers.def      |  32 ++
15  host/include/llvm/Config/AsmPrinters.def     |  32 ++
16  host/include/llvm/Config/Disassemblers.def   |  32 ++
17  host/include/llvm/Config/Targets.def         |  31 ++
18  host/include/llvm/Config/config.h            | 725 +++++++++++++++++++++++++++
19  host/include/llvm/Config/llvm-config.h       | 102 ++++
20  include/llvm/Config/llvm-platform-config.h   | 160 ++++++
21  include/llvm/Support/DataTypes.h             | 213 ++++++++
22  14 files changed, 2265 insertions(+)
23  create mode 100644 device/include/llvm/Config/AsmParsers.def
24  create mode 100644 device/include/llvm/Config/AsmPrinters.def
25  create mode 100644 device/include/llvm/Config/Disassemblers.def
26  create mode 100644 device/include/llvm/Config/Targets.def
27  create mode 100644 device/include/llvm/Config/config.h
28  create mode 100644 device/include/llvm/Config/llvm-config.h
29  create mode 100644 host/include/llvm/Config/AsmParsers.def
30  create mode 100644 host/include/llvm/Config/AsmPrinters.def
31  create mode 100644 host/include/llvm/Config/Disassemblers.def
32  create mode 100644 host/include/llvm/Config/Targets.def
33  create mode 100644 host/include/llvm/Config/config.h
34  create mode 100644 host/include/llvm/Config/llvm-config.h
35  create mode 100644 include/llvm/Config/llvm-platform-config.h
36  create mode 100644 include/llvm/Support/DataTypes.h
37
38 diff --git a/device/include/llvm/Config/AsmParsers.def b/device/include/llvm/Config/AsmParsers.def
39 new file mode 100644
40 index 0000000..ca3af2c
41 --- /dev/null
42 +++ b/device/include/llvm/Config/AsmParsers.def
43 @@ -0,0 +1,39 @@
44 +//===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===//
45 +//
46 +//                     The LLVM Compiler Infrastructure
47 +//
48 +// This file is distributed under the University of Illinois Open Source
49 +// License. See LICENSE.TXT for details.
50 +//
51 +//===----------------------------------------------------------------------===//
52 +//
53 +// This file enumerates all of the assembly-language parsers
54 +// supported by this build of LLVM. Clients of this file should define
55 +// the LLVM_ASM_PARSER macro to be a function-like macro with a
56 +// single parameter (the name of the target whose assembly can be
57 +// generated); including this file will then enumerate all of the
58 +// targets with assembly parsers.
59 +//
60 +// The set of targets supported by LLVM is generated at configuration
61 +// time, at which point this header is generated. Do not modify this
62 +// header directly.
63 +//
64 +//===----------------------------------------------------------------------===//
65 +
66 +#ifndef LLVM_ASM_PARSER
67 +#  error Please define the macro LLVM_ASM_PARSER(TargetName)
68 +#endif
69 +
70 +#if defined(__arm__)
71 +  LLVM_ASM_PARSER(ARM)
72 +#elif defined(__mips__)
73 +  LLVM_ASM_PARSER(Mips)
74 +#elif defined(__i386__) || defined(__x86_64__)
75 +  LLVM_ASM_PARSER(X86)
76 +#elif defined(__aarch64__)
77 +  LLVM_ASM_PARSER(AArch64)
78 +#else
79 +#  error Unsupported TARGET_ARCH for LLVM_ASM_PARSER
80 +#endif
81 +
82 +#undef LLVM_ASM_PARSER
83 diff --git a/device/include/llvm/Config/AsmPrinters.def b/device/include/llvm/Config/AsmPrinters.def
84 new file mode 100644
85 index 0000000..3a396c2
86 --- /dev/null
87 +++ b/device/include/llvm/Config/AsmPrinters.def
88 @@ -0,0 +1,39 @@
89 +//===- llvm/Config/AsmPrinters.def - LLVM Assembly Printers -----*- C++ -*-===//
90 +//
91 +//                     The LLVM Compiler Infrastructure
92 +//
93 +// This file is distributed under the University of Illinois Open Source
94 +// License. See LICENSE.TXT for details.
95 +//
96 +//===----------------------------------------------------------------------===//
97 +//
98 +// This file enumerates all of the assembly-language printers
99 +// supported by this build of LLVM. Clients of this file should define
100 +// the LLVM_ASM_PRINTER macro to be a function-like macro with a
101 +// single parameter (the name of the target whose assembly can be
102 +// generated); including this file will then enumerate all of the
103 +// targets with assembly printers.
104 +//
105 +// The set of targets supported by LLVM is generated at configuration
106 +// time, at which point this header is generated. Do not modify this
107 +// header directly.
108 +//
109 +//===----------------------------------------------------------------------===//
110 +
111 +#ifndef LLVM_ASM_PRINTER
112 +#  error Please define the macro LLVM_ASM_PRINTER(TargetName)
113 +#endif
114 +
115 +#if defined(__arm__)
116 +  LLVM_ASM_PRINTER(ARM)
117 +#elif defined(__mips__)
118 +  LLVM_ASM_PRINTER(Mips)
119 +#elif defined(__i386__) || defined(__x86_64__)
120 +  LLVM_ASM_PRINTER(X86)
121 +#elif defined(__aarch64__)
122 +  LLVM_ASM_PRINTER(AArch64)
123 +#else
124 +#  error Unsupported TARGET_ARCH for LLVM_ASM_PRINTER
125 +#endif
126 +
127 +#undef LLVM_ASM_PRINTER
128 diff --git a/device/include/llvm/Config/Disassemblers.def b/device/include/llvm/Config/Disassemblers.def
129 new file mode 100644
130 index 0000000..aba88f8
131 --- /dev/null
132 +++ b/device/include/llvm/Config/Disassemblers.def
133 @@ -0,0 +1,39 @@
134 +//===- llvm/Config/Disassemblers.def - LLVM Assembly Parsers ----*- C++ -*-===//
135 +//
136 +//                     The LLVM Compiler Infrastructure
137 +//
138 +// This file is distributed under the University of Illinois Open Source
139 +// License. See LICENSE.TXT for details.
140 +//
141 +//===----------------------------------------------------------------------===//
142 +//
143 +// This file enumerates all of the assembly-language parsers
144 +// supported by this build of LLVM. Clients of this file should define
145 +// the LLVM_ASM_PARSER macro to be a function-like macro with a
146 +// single parameter (the name of the target whose assembly can be
147 +// generated); including this file will then enumerate all of the
148 +// targets with assembly parsers.
149 +//
150 +// The set of targets supported by LLVM is generated at configuration
151 +// time, at which point this header is generated. Do not modify this
152 +// header directly.
153 +//
154 +//===----------------------------------------------------------------------===//
155 +
156 +#ifndef LLVM_DISASSEMBLER
157 +#  error Please define the macro LLVM_DISASSEMBLER(TargetName)
158 +#endif
159 +
160 +#if defined(__arm__)
161 +  LLVM_DISASSEMBLER(ARM)
162 +#elif defined(__mips__)
163 +  LLVM_DISASSEMBLER(Mips)
164 +#elif defined(__i386__) || defined(__x86_64__)
165 +  LLVM_DISASSEMBLER(X86)
166 +#elif defined(__aarch64__)
167 +  LLVM_DISASSEMBLER(AArch64)
168 +#else
169 +#  error Unsupported TARGET_ARCH for LLVM_DISASSEMBLER
170 +#endif
171 +
172 +#undef LLVM_DISASSEMBLER
173 diff --git a/device/include/llvm/Config/Targets.def b/device/include/llvm/Config/Targets.def
174 new file mode 100644
175 index 0000000..f30c81f
176 --- /dev/null
177 +++ b/device/include/llvm/Config/Targets.def
178 @@ -0,0 +1,38 @@
179 +/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\
180 +|*                                                                            *|
181 +|*                     The LLVM Compiler Infrastructure                       *|
182 +|*                                                                            *|
183 +|* This file is distributed under the University of Illinois Open Source      *|
184 +|* License. See LICENSE.TXT for details.                                      *|
185 +|*                                                                            *|
186 +|*===----------------------------------------------------------------------===*|
187 +|*                                                                            *|
188 +|* This file enumerates all of the target architectures supported by          *|
189 +|* this build of LLVM. Clients of this file should define the                 *|
190 +|* LLVM_TARGET macro to be a function-like macro with a single                *|
191 +|* parameter (the name of the target); including this file will then          *|
192 +|* enumerate all of the targets.                                              *|
193 +|*                                                                            *|
194 +|* The set of targets supported by LLVM is generated at configuration         *|
195 +|* time, at which point this header is generated. Do not modify this          *|
196 +|* header directly.                                                           *|
197 +|*                                                                            *|
198 +\*===----------------------------------------------------------------------===*/
199 +
200 +#ifndef LLVM_TARGET
201 +#  error Please define the macro LLVM_TARGET(TargetName)
202 +#endif
203 +
204 +#if defined(__arm__)
205 +  LLVM_TARGET(ARM)
206 +#elif defined(__mips__)
207 +  LLVM_TARGET(Mips)
208 +#elif defined(__i386__) || defined(__x86_64__)
209 +  LLVM_TARGET(X86)
210 +#elif defined(__aarch64__)
211 +  LLVM_TARGET(AArch64)
212 +#else
213 +#  error Unsupported TARGET_ARCH for LLVM_TARGET
214 +#endif
215 +
216 +#undef LLVM_TARGET
217 diff --git a/device/include/llvm/Config/config.h b/device/include/llvm/Config/config.h
218 new file mode 100644
219 index 0000000..f76132a
220 --- /dev/null
221 +++ b/device/include/llvm/Config/config.h
222 @@ -0,0 +1,689 @@
223 +/* include/llvm/Config/config.h.  Generated from config.h.in by configure.  */
224 +/* include/llvm/Config/config.h.in.  Generated from autoconf/configure.ac by autoheader.  */
225 +
226 +#ifndef CONFIG_H
227 +#define CONFIG_H
228 +
229 +/* Bug report URL. */
230 +#define BUG_REPORT_URL "http://llvm.org/bugs/"
231 +
232 +/* Relative directory for resource files */
233 +#define CLANG_RESOURCE_DIR ""
234 +
235 +/* Directories clang will search for headers */
236 +#define C_INCLUDE_DIRS ""
237 +
238 +/* Default <path> to all compiler invocations for --sysroot=<path>. */
239 +#define DEFAULT_SYSROOT ""
240 +
241 +/* Define if position independent code is enabled */
242 +#define ENABLE_PIC 1
243 +
244 +/* Define if timestamp information (e.g., __DATE___) is allowed */
245 +#define ENABLE_TIMESTAMPS 1
246 +
247 +/* Directory where gcc is installed. */
248 +#define GCC_INSTALL_PREFIX ""
249 +
250 +/* Define to 1 if you have the `argz_append' function. */
251 +/* #undef HAVE_ARGZ_APPEND */
252 +
253 +/* Define to 1 if you have the `argz_create_sep' function. */
254 +/* #undef HAVE_ARGZ_CREATE_SEP */
255 +
256 +/* Define to 1 if you have the <argz.h> header file. */
257 +/* #undef HAVE_ARGZ_H */
258 +
259 +/* Define to 1 if you have the `argz_insert' function. */
260 +/* #undef HAVE_ARGZ_INSERT */
261 +
262 +/* Define to 1 if you have the `argz_next' function. */
263 +/* #undef HAVE_ARGZ_NEXT */
264 +
265 +/* Define to 1 if you have the `argz_stringify' function. */
266 +/* #undef HAVE_ARGZ_STRINGIFY */
267 +
268 +/* Define to 1 if you have the <assert.h> header file. */
269 +#define HAVE_ASSERT_H 1
270 +
271 +/* Define to 1 if you have the `backtrace' function. */
272 +#if defined(HAVE_BACKTRACE) && HAVE_BACKTRACE == 0
273 +/* Defined by AndroidConfig.h as 0 */
274 +#undef HAVE_BACKTRACE
275 +#endif
276 +
277 +/* Define to 1 if you have the `bcopy' function. */
278 +/* #undef HAVE_BCOPY */
279 +
280 +/* Define to 1 if you have the `ceilf' function. */
281 +#define HAVE_CEILF 1
282 +
283 +/* Define if the neat program is available */
284 +/* #undef HAVE_CIRCO */
285 +
286 +/* Define to 1 if you have the `closedir' function. */
287 +#define HAVE_CLOSEDIR 1
288 +
289 +/* Define to 1 if you have the <CrashReporterClient.h> header file. */
290 +/* #undef HAVE_CRASHREPORTERCLIENT_H */
291 +
292 +/* Define if __crashreporter_info__ exists. */
293 +/* #undef HAVE_CRASHREPORTER_INFO */
294 +
295 +/* Define to 1 if you have the <ctype.h> header file. */
296 +#define HAVE_CTYPE_H 1
297 +
298 +/* Define to 1 if you have the <cxxabi.h> header file. */
299 +#define HAVE_CXXABI_H 0
300 +
301 +/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
302 +   don't. */
303 +#define HAVE_DECL_STRERROR_S 0
304 +
305 +/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
306 +   */
307 +#define HAVE_DIRENT_H 1
308 +
309 +/* Define if you have the GNU dld library. */
310 +/* #undef HAVE_DLD */
311 +
312 +/* Define to 1 if you have the <dld.h> header file. */
313 +/* #undef HAVE_DLD_H */
314 +
315 +/* Define to 1 if you have the `dlerror' function. */
316 +#define HAVE_DLERROR 1
317 +
318 +/* Define to 1 if you have the <dlfcn.h> header file. */
319 +#define HAVE_DLFCN_H 1
320 +
321 +/* Define if dlopen() is available on this platform. */
322 +#define HAVE_DLOPEN 1
323 +
324 +/* Define to 1 if you have the <dl.h> header file. */
325 +/* #undef HAVE_DL_H */
326 +
327 +/* Define if the dot program is available */
328 +/* #undef HAVE_DOT */
329 +
330 +/* Define if the dotty program is available */
331 +/* #undef HAVE_DOTTY */
332 +
333 +/* Define if you have the _dyld_func_lookup function. */
334 +/* #undef HAVE_DYLD */
335 +
336 +/* Define to 1 if you have the <errno.h> header file. */
337 +#define HAVE_ERRNO_H 1
338 +
339 +/* Define to 1 if the system has the type `error_t'. */
340 +#define HAVE_ERROR_T 1
341 +
342 +/* Define to 1 if you have the <execinfo.h> header file. */
343 +#define HAVE_EXECINFO_H 0
344 +
345 +/* Define to 1 if you have the <fcntl.h> header file. */
346 +#define HAVE_FCNTL_H 1
347 +
348 +/* Define if the neat program is available */
349 +/* #undef HAVE_FDP */
350 +
351 +/* Define to 1 if you have the <fenv.h> header file. */
352 +#define HAVE_FENV_H 1
353 +
354 +/* Define if libffi is available on this platform. */
355 +/* #undef HAVE_FFI_CALL */
356 +
357 +/* Define to 1 if you have the <ffi/ffi.h> header file. */
358 +/* #undef HAVE_FFI_FFI_H */
359 +
360 +/* Define to 1 if you have the <ffi.h> header file. */
361 +/* #undef HAVE_FFI_H */
362 +
363 +/* Set to 1 if the finite function is found in <ieeefp.h> */
364 +/* #undef HAVE_FINITE_IN_IEEEFP_H */
365 +
366 +/* Define to 1 if you have the `floorf' function. */
367 +#define HAVE_FLOORF 1
368 +
369 +/* Define to 1 if you have the `fmodf' function. */
370 +#define HAVE_FMODF 1
371 +
372 +/* Define to 1 if you have the `futimens' function. */
373 +#define HAVE_FUTIMENS 1
374 +
375 +/* Define to 1 if you have the `getcwd' function. */
376 +#define HAVE_GETCWD 1
377 +
378 +/* Define to 1 if you have the `getpagesize' function. */
379 +#define HAVE_GETPAGESIZE 1
380 +
381 +/* Define to 1 if you have the `getrlimit' function. */
382 +#define HAVE_GETRLIMIT 1
383 +
384 +/* Define to 1 if you have the `getrusage' function. */
385 +#define HAVE_GETRUSAGE 1
386 +
387 +/* Define to 1 if you have the `gettimeofday' function. */
388 +#define HAVE_GETTIMEOFDAY 1
389 +
390 +/* Define if the Graphviz program is available */
391 +/* #undef HAVE_GRAPHVIZ */
392 +
393 +/* Define if the gv program is available */
394 +/* #undef HAVE_GV */
395 +
396 +/* Define to 1 if you have the `index' function. */
397 +/* #undef HAVE_INDEX */
398 +
399 +/* Define to 1 if the system has the type `int64_t'. */
400 +#define HAVE_INT64_T 1
401 +
402 +/* Define to 1 if you have the <inttypes.h> header file. */
403 +#define HAVE_INTTYPES_H 1
404 +
405 +/* Define to 1 if you have the `isatty' function. */
406 +#define HAVE_ISATTY 1
407 +
408 +/* Set to 1 if the isinf function is found in <cmath> */
409 +#define HAVE_ISINF_IN_CMATH 1
410 +
411 +/* Set to 1 if the isinf function is found in <math.h> */
412 +#define HAVE_ISINF_IN_MATH_H 1
413 +
414 +/* Set to 1 if the isnan function is found in <cmath> */
415 +#define HAVE_ISNAN_IN_CMATH 1
416 +
417 +/* Set to 1 if the isnan function is found in <math.h> */
418 +#define HAVE_ISNAN_IN_MATH_H 1
419 +
420 +/* Define if you have the libdl library or equivalent. */
421 +#define HAVE_LIBDL 1
422 +
423 +/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
424 +/* #undef HAVE_LIBIMAGEHLP */
425 +
426 +/* Define to 1 if you have the `m' library (-lm). */
427 +#define HAVE_LIBM 1
428 +
429 +/* Define to 1 if you have the `psapi' library (-lpsapi). */
430 +/* #undef HAVE_LIBPSAPI */
431 +
432 +/* Define to 1 if you have the `pthread' library (-lpthread). */
433 +#define HAVE_LIBPTHREAD 1
434 +
435 +/* Define to 1 if you have the `udis86' library (-ludis86). */
436 +/* #undef HAVE_LIBUDIS86 */
437 +
438 +/* Define to 1 if you have the <limits.h> header file. */
439 +#define HAVE_LIMITS_H 1
440 +
441 +/* Define if you can use -Wl,-export-dynamic. */
442 +#define HAVE_LINK_EXPORT_DYNAMIC 1
443 +
444 +/* Define to 1 if you have the <link.h> header file. */
445 +#define HAVE_LINK_H 1
446 +
447 +/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
448 +   the current directory to the dynamic linker search path. */
449 +#define HAVE_LINK_R 1
450 +
451 +/* Define to 1 if you have the `longjmp' function. */
452 +#define HAVE_LONGJMP 1
453 +
454 +/* Define to 1 if you have the <mach/mach.h> header file. */
455 +/* #undef HAVE_MACH_MACH_H */
456 +
457 +/* Define to 1 if you have the <mach-o/dyld.h> header file. */
458 +/* #undef HAVE_MACH_O_DYLD_H */
459 +
460 +/* Define if mallinfo() is available on this platform. */
461 +#define HAVE_MALLINFO 1
462 +
463 +/* Define to 1 if you have the <malloc.h> header file. */
464 +//#define HAVE_MALLOC_H 1 /* Defined by AndroidConfig.h */
465 +
466 +/* Define to 1 if you have the <malloc/malloc.h> header file. */
467 +/* #undef HAVE_MALLOC_MALLOC_H */
468 +
469 +/* Define to 1 if you have the `malloc_zone_statistics' function. */
470 +/* #undef HAVE_MALLOC_ZONE_STATISTICS */
471 +
472 +/* Define to 1 if you have the `memcpy' function. */
473 +#define HAVE_MEMCPY 1
474 +
475 +/* Define to 1 if you have the `memmove' function. */
476 +#define HAVE_MEMMOVE 1
477 +
478 +/* Define to 1 if you have the <memory.h> header file. */
479 +#define HAVE_MEMORY_H 1
480 +
481 +/* Define to 1 if you have the `mkdtemp' function. */
482 +#define HAVE_MKDTEMP 0
483 +
484 +/* Define to 1 if you have the `mkstemp' function. */
485 +#define HAVE_MKSTEMP 1
486 +
487 +/* Define to 1 if you have the `mktemp' function. */
488 +#define HAVE_MKTEMP 1
489 +
490 +/* Define to 1 if you have a working `mmap' system call. */
491 +#define HAVE_MMAP 1
492 +
493 +/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
494 +   it uses MAP_ANON */
495 +#define HAVE_MMAP_ANONYMOUS 1
496 +
497 +/* Define if mmap() can map files into memory */
498 +#define HAVE_MMAP_FILE
499 +
500 +/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
501 +/* #undef HAVE_NDIR_H */
502 +
503 +/* Define to 1 if you have the `nearbyintf' function. */
504 +#define HAVE_NEARBYINTF 1
505 +
506 +/* Define if the neat program is available */
507 +/* #undef HAVE_NEATO */
508 +
509 +/* Define to 1 if you have the `opendir' function. */
510 +#define HAVE_OPENDIR 1
511 +
512 +/* Define to 1 if you have the `posix_spawn' function. */
513 +/* #undef HAVE_POSIX_SPAWN */
514 +
515 +/* Define to 1 if you have the `powf' function. */
516 +#define HAVE_POWF 1
517 +
518 +/* Define to 1 if you have the `pread' function. */
519 +#define HAVE_PREAD 1
520 +
521 +/* Define if libtool can extract symbol lists from object files. */
522 +#define HAVE_PRELOADED_SYMBOLS 1
523 +
524 +/* Define to have the %a format string */
525 +#define HAVE_PRINTF_A 1
526 +
527 +/* Have pthread_getspecific */
528 +#define HAVE_PTHREAD_GETSPECIFIC 1
529 +
530 +/* Define to 1 if you have the <pthread.h> header file. */
531 +#define HAVE_PTHREAD_H 1
532 +
533 +/* Have pthread_mutex_lock */
534 +#define HAVE_PTHREAD_MUTEX_LOCK 1
535 +
536 +/* Have pthread_rwlock_init */
537 +#define HAVE_PTHREAD_RWLOCK_INIT 1
538 +
539 +/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
540 +#define HAVE_RAND48 1
541 +
542 +/* Define to 1 if you have the `readdir' function. */
543 +#define HAVE_READDIR 1
544 +
545 +/* Define to 1 if you have the `realpath' function. */
546 +#define HAVE_REALPATH 1
547 +
548 +/* Define to 1 if you have the `rindex' function. */
549 +/* #undef HAVE_RINDEX */
550 +
551 +/* Define to 1 if you have the `rintf' function. */
552 +#define HAVE_RINTF 1
553 +
554 +/* Define to 1 if you have the `round' function. */
555 +#define HAVE_ROUND 1
556 +
557 +/* Define to 1 if you have the `roundf' function. */
558 +#define HAVE_ROUNDF 1
559 +
560 +/* Define to 1 if you have the `sbrk' function. */
561 +#define HAVE_SBRK 1
562 +
563 +/* Define to 1 if you have the `setenv' function. */
564 +#define HAVE_SETENV 1
565 +
566 +/* Define to 1 if you have the `setjmp' function. */
567 +#define HAVE_SETJMP 1
568 +
569 +/* Define to 1 if you have the <setjmp.h> header file. */
570 +#define HAVE_SETJMP_H 1
571 +
572 +/* Define to 1 if you have the `setrlimit' function. */
573 +#define HAVE_SETRLIMIT 1
574 +
575 +/* Define if you have the shl_load function. */
576 +/* #undef HAVE_SHL_LOAD */
577 +
578 +/* Define to 1 if you have the `siglongjmp' function. */
579 +#define HAVE_SIGLONGJMP 1
580 +
581 +/* Define to 1 if you have the <signal.h> header file. */
582 +#define HAVE_SIGNAL_H 1
583 +
584 +/* Define to 1 if you have the `sigsetjmp' function. */
585 +/* #undef HAVE_SIGSETJMP */
586 +
587 +/* Define to 1 if you have the <stdint.h> header file. */
588 +#define HAVE_STDINT_H 1
589 +
590 +/* Define to 1 if you have the <stdio.h> header file. */
591 +#define HAVE_STDIO_H 1
592 +
593 +/* Define to 1 if you have the <stdlib.h> header file. */
594 +#define HAVE_STDLIB_H 1
595 +
596 +/* Set to 1 if the std::isinf function is found in <cmath> */
597 +/* #undef HAVE_STD_ISINF_IN_CMATH */
598 +
599 +/* Set to 1 if the std::isnan function is found in <cmath> */
600 +#define HAVE_STD_ISNAN_IN_CMATH 1
601 +
602 +/* Define to 1 if you have the `strchr' function. */
603 +#define HAVE_STRCHR 1
604 +
605 +/* Define to 1 if you have the `strcmp' function. */
606 +#define HAVE_STRCMP 1
607 +
608 +/* Define to 1 if you have the `strdup' function. */
609 +#define HAVE_STRDUP 1
610 +
611 +/* Define to 1 if you have the `strerror' function. */
612 +#define HAVE_STRERROR 1
613 +
614 +/* Define to 1 if you have the `strerror_r' function. */
615 +#ifndef USE_MINGW
616 +#define HAVE_STRERROR_R 1
617 +#endif
618 +
619 +/* Define to 1 if you have the <strings.h> header file. */
620 +#define HAVE_STRINGS_H 1
621 +
622 +/* Define to 1 if you have the <string.h> header file. */
623 +#define HAVE_STRING_H 1
624 +
625 +/* Define to 1 if you have the `strrchr' function. */
626 +#define HAVE_STRRCHR 1
627 +
628 +/* Define to 1 if you have the `strtof' function. */
629 +#define HAVE_STRTOF 1
630 +
631 +/* Define to 1 if you have the `strtoll' function. */
632 +#define HAVE_STRTOLL 1
633 +
634 +/* Define to 1 if you have the `strtoq' function. */
635 +#define HAVE_STRTOQ 1
636 +
637 +/* Define to 1 if you have the `sysconf' function. */
638 +#define HAVE_SYSCONF 1
639 +
640 +/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
641 +   */
642 +/* #undef HAVE_SYS_DIR_H */
643 +
644 +/* Define to 1 if you have the <sys/dl.h> header file. */
645 +/* #undef HAVE_SYS_DL_H */
646 +
647 +/* Define to 1 if you have the <sys/ioctl.h> header file. */
648 +#define HAVE_SYS_IOCTL_H 1
649 +
650 +/* Define to 1 if you have the <sys/mman.h> header file. */
651 +#define HAVE_SYS_MMAN_H 1
652 +
653 +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
654 +   */
655 +/* #undef HAVE_SYS_NDIR_H */
656 +
657 +/* Define to 1 if you have the <sys/param.h> header file. */
658 +#define HAVE_SYS_PARAM_H 1
659 +
660 +/* Define to 1 if you have the <sys/resource.h> header file. */
661 +#define HAVE_SYS_RESOURCE_H 1
662 +
663 +/* Define to 1 if you have the <sys/stat.h> header file. */
664 +#define HAVE_SYS_STAT_H 1
665 +
666 +/* Define to 1 if you have the <sys/time.h> header file. */
667 +#define HAVE_SYS_TIME_H 1
668 +
669 +/* Define to 1 if you have the <sys/types.h> header file. */
670 +#define HAVE_SYS_TYPES_H 1
671 +
672 +/* Define to 1 if you have the <sys/uio.h> header file. */
673 +#define HAVE_SYS_UIO_H 1
674 +
675 +/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
676 +#define HAVE_SYS_WAIT_H 1
677 +
678 +/* Define to 1 if you have the <termios.h> header file. */
679 +#define HAVE_TERMIOS_H 1
680 +
681 +/* Define if the neat program is available */
682 +/* #undef HAVE_TWOPI */
683 +
684 +/* Define to 1 if the system has the type `uint64_t'. */
685 +#define HAVE_UINT64_T 1
686 +
687 +/* Define to 1 if you have the <unistd.h> header file. */
688 +#define HAVE_UNISTD_H 1
689 +
690 +/* Define to 1 if you have the <utime.h> header file. */
691 +#define HAVE_UTIME_H 1
692 +
693 +/* Define to 1 if the system has the type `u_int64_t'. */
694 +/* #undef HAVE_U_INT64_T */
695 +
696 +/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
697 +/* #undef HAVE_VALGRIND_VALGRIND_H */
698 +
699 +/* Define to 1 if you have the <windows.h> header file. */
700 +/* #undef HAVE_WINDOWS_H */
701 +
702 +/* Define to 1 if you have the `writev' function. */
703 +#define HAVE_WRITEV 1
704 +
705 +/* Define if the xdot.py program is available */
706 +/* #undef HAVE_XDOT_PY */
707 +
708 +/* Have host's _alloca */
709 +/* #undef HAVE__ALLOCA */
710 +
711 +/* Have host's __alloca */
712 +/* #undef HAVE___ALLOCA */
713 +
714 +/* Have host's __ashldi3 */
715 +/* #undef HAVE___ASHLDI3 */
716 +
717 +/* Have host's __ashrdi3 */
718 +/* #undef HAVE___ASHRDI3 */
719 +
720 +/* Have host's __chkstk */
721 +/* #undef HAVE___CHKSTK */
722 +
723 +/* Have host's __cmpdi2 */
724 +/* #undef HAVE___CMPDI2 */
725 +
726 +/* Have host's __divdi3 */
727 +/* #undef HAVE___DIVDI3 */
728 +
729 +/* Define to 1 if you have the `__dso_handle' function. */
730 +#define HAVE___DSO_HANDLE 1
731 +
732 +/* Have host's __fixdfdi */
733 +/* #undef HAVE___FIXDFDI */
734 +
735 +/* Have host's __fixsfdi */
736 +/* #undef HAVE___FIXSFDI */
737 +
738 +/* Have host's __floatdidf */
739 +/* #undef HAVE___FLOATDIDF */
740 +
741 +/* Have host's __lshrdi3 */
742 +/* #undef HAVE___LSHRDI3 */
743 +
744 +/* Have host's __main */
745 +/* #undef HAVE___MAIN */
746 +
747 +/* Have host's __moddi3 */
748 +/* #undef HAVE___MODDI3 */
749 +
750 +/* Have host's __udivdi3 */
751 +/* #undef HAVE___UDIVDI3 */
752 +
753 +/* Have host's __umoddi3 */
754 +/* #undef HAVE___UMODDI3 */
755 +
756 +/* Have host's ___chkstk */
757 +/* #undef HAVE____CHKSTK */
758 +
759 +/* Linker version detected at compile time. */
760 +#define HOST_LINK_VERSION "2.20.1"
761 +
762 +/* Installation directory for binary executables */
763 +#define LLVM_BINDIR "/opt/llvm-android/bin"
764 +
765 +/* Time at which LLVM was configured */
766 +#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
767 +
768 +/* Installation directory for data files */
769 +#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
770 +
771 +/* Target triple LLVM will generate code for by default */
772 +#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
773 +
774 +/* Installation directory for documentation */
775 +#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
776 +
777 +/* Define if threads enabled */
778 +#define LLVM_ENABLE_THREADS 1
779 +
780 +/* Installation directory for config files */
781 +#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
782 +
783 +/* Has gcc/MSVC atomic intrinsics */
784 +#define LLVM_HAS_ATOMICS 1
785 +
786 +/* Installation directory for include files */
787 +#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
788 +
789 +/* Installation directory for .info files */
790 +#define LLVM_INFODIR "/opt/llvm-android/info"
791 +
792 +/* Installation directory for libraries */
793 +#define LLVM_LIBDIR "/opt/llvm-android/lib"
794 +
795 +/* Installation directory for man pages */
796 +#define LLVM_MANDIR "/opt/llvm-android/man"
797 +
798 +/* Define to path to circo program if found or 'echo circo' otherwise */
799 +/* #undef LLVM_PATH_CIRCO */
800 +
801 +/* Define to path to dot program if found or 'echo dot' otherwise */
802 +/* #undef LLVM_PATH_DOT */
803 +
804 +/* Define to path to dotty program if found or 'echo dotty' otherwise */
805 +/* #undef LLVM_PATH_DOTTY */
806 +
807 +/* Define to path to fdp program if found or 'echo fdp' otherwise */
808 +/* #undef LLVM_PATH_FDP */
809 +
810 +/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
811 +/* #undef LLVM_PATH_GRAPHVIZ */
812 +
813 +/* Define to path to gv program if found or 'echo gv' otherwise */
814 +/* #undef LLVM_PATH_GV */
815 +
816 +/* Define to path to neato program if found or 'echo neato' otherwise */
817 +/* #undef LLVM_PATH_NEATO */
818 +
819 +/* Define to path to twopi program if found or 'echo twopi' otherwise */
820 +/* #undef LLVM_PATH_TWOPI */
821 +
822 +/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
823 +/* #undef LLVM_PATH_XDOT_PY */
824 +
825 +/* Installation prefix directory */
826 +#define LLVM_PREFIX "/opt/llvm-android"
827 +
828 +/* Define if we have the Intel JIT API runtime support library */
829 +#define LLVM_USE_INTEL_JITEVENTS 0
830 +
831 +/* Define if we have the oprofile JIT-support library */
832 +#define LLVM_USE_OPROFILE 0
833 +
834 +/* Major version of the LLVM API */
835 +#define LLVM_VERSION_MAJOR 3
836 +
837 +/* Minor version of the LLVM API */
838 +#define LLVM_VERSION_MINOR 4
839 +
840 +/* Define if the OS needs help to load dependent libraries for dlopen(). */
841 +/* #undef LTDL_DLOPEN_DEPLIBS */
842 +
843 +/* Define to the sub-directory in which libtool stores uninstalled libraries.
844 +   */
845 +#define LTDL_OBJDIR ".libs/"
846 +
847 +/* Define to the name of the environment variable that determines the dynamic
848 +   library search path. */
849 +#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH"
850 +
851 +/* Define to the extension used for shared libraries, say, ".so". */
852 +#define LTDL_SHLIB_EXT ".so"
853 +
854 +/* Define to the system default library search path. */
855 +#define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/usr/local/lib:/lib:/usr/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib32:/usr/lib32:/usr/local/lib32:/usr/x86_64-pc-linux-gnu/lib:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32"
856 +
857 +/* Define if /dev/zero should be used when mapping RWX memory, or undefine if
858 +   its not necessary */
859 +/* #undef NEED_DEV_ZERO_FOR_MMAP */
860 +
861 +/* Define if dlsym() requires a leading underscore in symbol names. */
862 +/* #undef NEED_USCORE */
863 +
864 +/* Define to the address where bug reports for this package should be sent. */
865 +#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
866 +
867 +/* Define to the full name of this package. */
868 +#define PACKAGE_NAME "LLVM"
869 +
870 +/* Define to the full name and version of this package. */
871 +#define PACKAGE_STRING "LLVM 3.4"
872 +
873 +/* Define to the one symbol short name of this package. */
874 +#define PACKAGE_TARNAME "llvm"
875 +
876 +/* Define to the version of this package. */
877 +#define PACKAGE_VERSION "3.4"
878 +
879 +/* Define as the return type of signal handlers (`int' or `void'). */
880 +#define RETSIGTYPE void
881 +
882 +/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
883 +/* #undef STAT_MACROS_BROKEN */
884 +
885 +/* Define to 1 if you have the ANSI C header files. */
886 +#define STDC_HEADERS 1
887 +
888 +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
889 +#define TIME_WITH_SYS_TIME 1
890 +
891 +/* Define to 1 if your <sys/time.h> declares `struct tm'. */
892 +/* #undef TM_IN_SYS_TIME */
893 +
894 +/* Define if use udis86 library */
895 +#define USE_UDIS86 0
896 +
897 +/* Define to empty if `const' does not conform to ANSI C. */
898 +/* #undef const */
899 +
900 +/* Define to a type to use for `error_t' if it is not otherwise available. */
901 +/* #undef error_t */
902 +
903 +/* Define to `int' if <sys/types.h> does not define. */
904 +/* #undef pid_t */
905 +
906 +/* Define to `unsigned int' if <sys/types.h> does not define. */
907 +/* #undef size_t */
908 +
909 +#include "llvm/Config/llvm-platform-config.h"
910 +
911 +#endif
912 diff --git a/device/include/llvm/Config/llvm-config.h b/device/include/llvm/Config/llvm-config.h
913 new file mode 100644
914 index 0000000..637daed
915 --- /dev/null
916 +++ b/device/include/llvm/Config/llvm-config.h
917 @@ -0,0 +1,94 @@
918 +/* include/llvm/Config/llvm-config.h.  Generated from llvm-config.h.in by configure.  */
919 +/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
920 +/*                                                                            */
921 +/*                     The LLVM Compiler Infrastructure                       */
922 +/*                                                                            */
923 +/* This file is distributed under the University of Illinois Open Source      */
924 +/* License. See LICENSE.TXT for details.                                      */
925 +/*                                                                            */
926 +/*===----------------------------------------------------------------------===*/
927 +
928 +/* This file enumerates all of the llvm variables from configure so that
929 +   they can be in exported headers and won't override package specific
930 +   directives.  This is a C file so we can include it in the llvm-c headers.  */
931 +
932 +/* To avoid multiple inclusions of these variables when we include the exported
933 +   headers and config.h, conditionally include these.  */
934 +/* TODO: This is a bit of a hack.  */
935 +#ifndef CONFIG_H
936 +
937 +/* Installation directory for binary executables */
938 +#define LLVM_BINDIR "/opt/llvm-android/bin"
939 +
940 +/* Time at which LLVM was configured */
941 +#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
942 +
943 +/* Installation directory for data files */
944 +#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
945 +
946 +/* Target triple LLVM will generate code for by default */
947 +#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
948 +
949 +/* Installation directory for documentation */
950 +#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
951 +
952 +/* Define if threads enabled */
953 +#define LLVM_ENABLE_THREADS 1
954 +
955 +/* Installation directory for config files */
956 +#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
957 +
958 +/* Has gcc/MSVC atomic intrinsics */
959 +#define LLVM_HAS_ATOMICS 1
960 +
961 +/* Installation directory for include files */
962 +#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
963 +
964 +/* Installation directory for .info files */
965 +#define LLVM_INFODIR "/opt/llvm-android/info"
966 +
967 +/* Installation directory for libraries */
968 +#define LLVM_LIBDIR "/opt/llvm-android/lib"
969 +
970 +/* Installation directory for man pages */
971 +#define LLVM_MANDIR "/opt/llvm-android/man"
972 +
973 +/* Define to path to circo program if found or 'echo circo' otherwise */
974 +/* #undef LLVM_PATH_CIRCO */
975 +
976 +/* Define to path to dot program if found or 'echo dot' otherwise */
977 +/* #undef LLVM_PATH_DOT */
978 +
979 +/* Define to path to dotty program if found or 'echo dotty' otherwise */
980 +/* #undef LLVM_PATH_DOTTY */
981 +
982 +/* Define to path to fdp program if found or 'echo fdp' otherwise */
983 +/* #undef LLVM_PATH_FDP */
984 +
985 +/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
986 +/* #undef LLVM_PATH_GRAPHVIZ */
987 +
988 +/* Define to path to gv program if found or 'echo gv' otherwise */
989 +/* #undef LLVM_PATH_GV */
990 +
991 +/* Define to path to neato program if found or 'echo neato' otherwise */
992 +/* #undef LLVM_PATH_NEATO */
993 +
994 +/* Define to path to twopi program if found or 'echo twopi' otherwise */
995 +/* #undef LLVM_PATH_TWOPI */
996 +
997 +/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
998 +/* #undef LLVM_PATH_XDOT_PY */
999 +
1000 +/* Installation prefix directory */
1001 +#define LLVM_PREFIX "/opt/llvm-android"
1002 +
1003 +/* Major version of the LLVM API */
1004 +#define LLVM_VERSION_MAJOR 3
1005 +
1006 +/* Minor version of the LLVM API */
1007 +#define LLVM_VERSION_MINOR 4
1008 +
1009 +#include "llvm/Config/llvm-platform-config.h"
1010 +
1011 +#endif
1012 diff --git a/host/include/llvm/Config/AsmParsers.def b/host/include/llvm/Config/AsmParsers.def
1013 new file mode 100644
1014 index 0000000..8fd67da
1015 --- /dev/null
1016 +++ b/host/include/llvm/Config/AsmParsers.def
1017 @@ -0,0 +1,32 @@
1018 +//===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===//
1019 +//
1020 +//                     The LLVM Compiler Infrastructure
1021 +//
1022 +// This file is distributed under the University of Illinois Open Source
1023 +// License. See LICENSE.TXT for details.
1024 +//
1025 +//===----------------------------------------------------------------------===//
1026 +//
1027 +// This file enumerates all of the assembly-language parsers
1028 +// supported by this build of LLVM. Clients of this file should define
1029 +// the LLVM_ASM_PARSER macro to be a function-like macro with a
1030 +// single parameter (the name of the target whose assembly can be
1031 +// generated); including this file will then enumerate all of the
1032 +// targets with assembly parsers.
1033 +//
1034 +// The set of targets supported by LLVM is generated at configuration
1035 +// time, at which point this header is generated. Do not modify this
1036 +// header directly.
1037 +//
1038 +//===----------------------------------------------------------------------===//
1039 +
1040 +#ifndef LLVM_ASM_PARSER
1041 +#  error Please define the macro LLVM_ASM_PARSER(TargetName)
1042 +#endif
1043 +
1044 +LLVM_ASM_PARSER(ARM)
1045 +LLVM_ASM_PARSER(Mips)
1046 +LLVM_ASM_PARSER(X86)
1047 +LLVM_ASM_PARSER(AArch64)
1048 +
1049 +#undef LLVM_ASM_PARSER
1050 diff --git a/host/include/llvm/Config/AsmPrinters.def b/host/include/llvm/Config/AsmPrinters.def
1051 new file mode 100644
1052 index 0000000..07f6adf
1053 --- /dev/null
1054 +++ b/host/include/llvm/Config/AsmPrinters.def
1055 @@ -0,0 +1,32 @@
1056 +//===- llvm/Config/AsmPrinters.def - LLVM Assembly Printers -----*- C++ -*-===//
1057 +//
1058 +//                     The LLVM Compiler Infrastructure
1059 +//
1060 +// This file is distributed under the University of Illinois Open Source
1061 +// License. See LICENSE.TXT for details.
1062 +//
1063 +//===----------------------------------------------------------------------===//
1064 +//
1065 +// This file enumerates all of the assembly-language printers
1066 +// supported by this build of LLVM. Clients of this file should define
1067 +// the LLVM_ASM_PRINTER macro to be a function-like macro with a
1068 +// single parameter (the name of the target whose assembly can be
1069 +// generated); including this file will then enumerate all of the
1070 +// targets with assembly printers.
1071 +//
1072 +// The set of targets supported by LLVM is generated at configuration
1073 +// time, at which point this header is generated. Do not modify this
1074 +// header directly.
1075 +//
1076 +//===----------------------------------------------------------------------===//
1077 +
1078 +#ifndef LLVM_ASM_PRINTER
1079 +#  error Please define the macro LLVM_ASM_PRINTER(TargetName)
1080 +#endif
1081 +
1082 +LLVM_ASM_PRINTER(ARM)
1083 +LLVM_ASM_PRINTER(Mips)
1084 +LLVM_ASM_PRINTER(X86)
1085 +LLVM_ASM_PRINTER(AArch64)
1086 +
1087 +#undef LLVM_ASM_PRINTER
1088 diff --git a/host/include/llvm/Config/Disassemblers.def b/host/include/llvm/Config/Disassemblers.def
1089 new file mode 100644
1090 index 0000000..18557af
1091 --- /dev/null
1092 +++ b/host/include/llvm/Config/Disassemblers.def
1093 @@ -0,0 +1,32 @@
1094 +//===- llvm/Config/Disassemblers.def - LLVM Assembly Parsers ----*- C++ -*-===//
1095 +//
1096 +//                     The LLVM Compiler Infrastructure
1097 +//
1098 +// This file is distributed under the University of Illinois Open Source
1099 +// License. See LICENSE.TXT for details.
1100 +//
1101 +//===----------------------------------------------------------------------===//
1102 +//
1103 +// This file enumerates all of the assembly-language parsers
1104 +// supported by this build of LLVM. Clients of this file should define
1105 +// the LLVM_ASM_PARSER macro to be a function-like macro with a
1106 +// single parameter (the name of the target whose assembly can be
1107 +// generated); including this file will then enumerate all of the
1108 +// targets with assembly parsers.
1109 +//
1110 +// The set of targets supported by LLVM is generated at configuration
1111 +// time, at which point this header is generated. Do not modify this
1112 +// header directly.
1113 +//
1114 +//===----------------------------------------------------------------------===//
1115 +
1116 +#ifndef LLVM_DISASSEMBLER
1117 +#  error Please define the macro LLVM_DISASSEMBLER(TargetName)
1118 +#endif
1119 +
1120 +LLVM_DISASSEMBLER(ARM)
1121 +LLVM_DISASSEMBLER(Mips)
1122 +LLVM_DISASSEMBLER(X86)
1123 +LLVM_DISASSEMBLER(AArch64)
1124 +
1125 +#undef LLVM_DISASSEMBLER
1126 diff --git a/host/include/llvm/Config/Targets.def b/host/include/llvm/Config/Targets.def
1127 new file mode 100644
1128 index 0000000..2985cf3
1129 --- /dev/null
1130 +++ b/host/include/llvm/Config/Targets.def
1131 @@ -0,0 +1,31 @@
1132 +/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\
1133 +|*                                                                            *|
1134 +|*                     The LLVM Compiler Infrastructure                       *|
1135 +|*                                                                            *|
1136 +|* This file is distributed under the University of Illinois Open Source      *|
1137 +|* License. See LICENSE.TXT for details.                                      *|
1138 +|*                                                                            *|
1139 +|*===----------------------------------------------------------------------===*|
1140 +|*                                                                            *|
1141 +|* This file enumerates all of the target architectures supported by          *|
1142 +|* this build of LLVM. Clients of this file should define the                 *|
1143 +|* LLVM_TARGET macro to be a function-like macro with a single                *|
1144 +|* parameter (the name of the target); including this file will then          *|
1145 +|* enumerate all of the targets.                                              *|
1146 +|*                                                                            *|
1147 +|* The set of targets supported by LLVM is generated at configuration         *|
1148 +|* time, at which point this header is generated. Do not modify this          *|
1149 +|* header directly.                                                           *|
1150 +|*                                                                            *|
1151 +\*===----------------------------------------------------------------------===*/
1152 +
1153 +#ifndef LLVM_TARGET
1154 +#  error Please define the macro LLVM_TARGET(TargetName)
1155 +#endif
1156 +
1157 +LLVM_TARGET(ARM)
1158 +LLVM_TARGET(Mips)
1159 +LLVM_TARGET(X86)
1160 +LLVM_TARGET(AArch64)
1161 +
1162 +#undef LLVM_TARGET
1163 diff --git a/host/include/llvm/Config/config.h b/host/include/llvm/Config/config.h
1164 new file mode 100644
1165 index 0000000..8e65910
1166 --- /dev/null
1167 +++ b/host/include/llvm/Config/config.h
1168 @@ -0,0 +1,725 @@
1169 +/* include/llvm/Config/config.h.  Generated from config.h.in by configure.  */
1170 +/* include/llvm/Config/config.h.in.  Generated from autoconf/configure.ac by autoheader.  */
1171 +
1172 +#ifndef CONFIG_H
1173 +#define CONFIG_H
1174 +
1175 +/* Bug report URL. */
1176 +#define BUG_REPORT_URL "http://llvm.org/bugs/"
1177 +
1178 +/* Relative directory for resource files */
1179 +#define CLANG_RESOURCE_DIR ""
1180 +
1181 +/* Directories clang will search for headers */
1182 +#define C_INCLUDE_DIRS ""
1183 +
1184 +/* Default <path> to all compiler invocations for --sysroot=<path>. */
1185 +#define DEFAULT_SYSROOT ""
1186 +
1187 +/* Define if position independent code is enabled */
1188 +#define ENABLE_PIC 1
1189 +
1190 +/* Define if timestamp information (e.g., __DATE___) is allowed */
1191 +#define ENABLE_TIMESTAMPS 1
1192 +
1193 +/* Directory where gcc is installed. */
1194 +#define GCC_INSTALL_PREFIX ""
1195 +
1196 +/* Define to 1 if you have the `argz_append' function. */
1197 +/* #undef HAVE_ARGZ_APPEND */
1198 +
1199 +/* Define to 1 if you have the `argz_create_sep' function. */
1200 +/* #undef HAVE_ARGZ_CREATE_SEP */
1201 +
1202 +/* Define to 1 if you have the <argz.h> header file. */
1203 +/* #undef HAVE_ARGZ_H */
1204 +
1205 +/* Define to 1 if you have the `argz_insert' function. */
1206 +/* #undef HAVE_ARGZ_INSERT */
1207 +
1208 +/* Define to 1 if you have the `argz_next' function. */
1209 +/* #undef HAVE_ARGZ_NEXT */
1210 +
1211 +/* Define to 1 if you have the `argz_stringify' function. */
1212 +/* #undef HAVE_ARGZ_STRINGIFY */
1213 +
1214 +/* Define to 1 if you have the <assert.h> header file. */
1215 +#define HAVE_ASSERT_H 1
1216 +
1217 +/* Define to 1 if you have the `backtrace' function. */
1218 +/* #define HAVE_BACKTRACE 1 */ /* Defined by AndroidConfig.h */
1219 +
1220 +/* Define to 1 if you have the `bcopy' function. */
1221 +/* #undef HAVE_BCOPY */
1222 +
1223 +/* Define to 1 if you have the `ceilf' function. */
1224 +#define HAVE_CEILF 1
1225 +
1226 +/* Define if the neat program is available */
1227 +/* #undef HAVE_CIRCO */
1228 +
1229 +/* Define to 1 if you have the `closedir' function. */
1230 +#define HAVE_CLOSEDIR 1
1231 +
1232 +/* Define to 1 if you have the <CrashReporterClient.h> header file. */
1233 +/* #undef HAVE_CRASHREPORTERCLIENT_H */
1234 +
1235 +/* Define if __crashreporter_info__ exists. */
1236 +#define HAVE_CRASHREPORTER_INFO 0
1237 +
1238 +/* Define to 1 if you have the <ctype.h> header file. */
1239 +#define HAVE_CTYPE_H 1
1240 +
1241 +/* Define to 1 if you have the <cxxabi.h> header file. */
1242 +#define HAVE_CXXABI_H 0
1243 +
1244 +/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
1245 +   don't. */
1246 +#define HAVE_DECL_STRERROR_S 0
1247 +
1248 +/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
1249 +   */
1250 +#define HAVE_DIRENT_H 1
1251 +
1252 +/* Define if you have the GNU dld library. */
1253 +/* #undef HAVE_DLD */
1254 +
1255 +/* Define to 1 if you have the <dld.h> header file. */
1256 +/* #undef HAVE_DLD_H */
1257 +
1258 +/* Define to 1 if you have the `dlerror' function. */
1259 +#define HAVE_DLERROR 1
1260 +
1261 +/* Define to 1 if you have the <dlfcn.h> header file. */
1262 +#define HAVE_DLFCN_H 1
1263 +
1264 +/* Define if dlopen() is available on this platform. */
1265 +#define HAVE_DLOPEN 1
1266 +
1267 +/* Define to 1 if you have the <dl.h> header file. */
1268 +/* #undef HAVE_DL_H */
1269 +
1270 +/* Define if the dot program is available */
1271 +/* #undef HAVE_DOT */
1272 +
1273 +/* Define if the dotty program is available */
1274 +/* #undef HAVE_DOTTY */
1275 +
1276 +/* Define if you have the _dyld_func_lookup function. */
1277 +/* #undef HAVE_DYLD */
1278 +
1279 +/* Define to 1 if you have the <errno.h> header file. */
1280 +#define HAVE_ERRNO_H 1
1281 +
1282 +/* Define to 1 if the system has the type `error_t'. */
1283 +#define HAVE_ERROR_T 1
1284 +
1285 +/* Define to 1 if you have the <execinfo.h> header file. */
1286 +#define HAVE_EXECINFO_H 1
1287 +
1288 +/* Define to 1 if you have the <fcntl.h> header file. */
1289 +#define HAVE_FCNTL_H 1
1290 +
1291 +/* Define if the neat program is available */
1292 +/* #undef HAVE_FDP */
1293 +
1294 +/* Define to 1 if you have the <fenv.h> header file. */
1295 +#define HAVE_FENV_H 1
1296 +
1297 +/* Define if libffi is available on this platform. */
1298 +/* #undef HAVE_FFI_CALL */
1299 +
1300 +/* Define to 1 if you have the <ffi/ffi.h> header file. */
1301 +/* #undef HAVE_FFI_FFI_H */
1302 +
1303 +/* Define to 1 if you have the <ffi.h> header file. */
1304 +/* #undef HAVE_FFI_H */
1305 +
1306 +/* Set to 1 if the finite function is found in <ieeefp.h> */
1307 +/* #undef HAVE_FINITE_IN_IEEEFP_H */
1308 +
1309 +/* Define to 1 if you have the `floorf' function. */
1310 +#define HAVE_FLOORF 1
1311 +
1312 +/* Define to 1 if you have the `fmodf' function. */
1313 +#define HAVE_FMODF 1
1314 +
1315 +#ifdef __APPLE__
1316 +/* Define to 1 if you have the `futimes' function. */
1317 +#define HAVE_FUTIMES 1
1318 +#else
1319 +/* Define to 1 if you have the `futimens' function. */
1320 +#define HAVE_FUTIMENS 1
1321 +#endif  // __APPLE__
1322 +
1323 +/* Define to 1 if you have the `getcwd' function. */
1324 +#define HAVE_GETCWD 1
1325 +
1326 +/* Define to 1 if you have the `getpagesize' function. */
1327 +#define HAVE_GETPAGESIZE 1
1328 +
1329 +/* Define to 1 if you have the `getrlimit' function. */
1330 +#define HAVE_GETRLIMIT 1
1331 +
1332 +/* Define to 1 if you have the `getrusage' function. */
1333 +#define HAVE_GETRUSAGE 1
1334 +
1335 +/* Define to 1 if you have the `gettimeofday' function. */
1336 +#define HAVE_GETTIMEOFDAY 1
1337 +
1338 +/* Define if the Graphviz program is available */
1339 +/* #undef HAVE_GRAPHVIZ */
1340 +
1341 +/* Define if the gv program is available */
1342 +/* #undef HAVE_GV */
1343 +
1344 +/* Define to 1 if you have the `index' function. */
1345 +/* #undef HAVE_INDEX */
1346 +
1347 +/* Define to 1 if the system has the type `int64_t'. */
1348 +#define HAVE_INT64_T 1
1349 +
1350 +/* Define to 1 if you have the <inttypes.h> header file. */
1351 +#define HAVE_INTTYPES_H 1
1352 +
1353 +/* Define to 1 if you have the `isatty' function. */
1354 +#define HAVE_ISATTY 1
1355 +
1356 +/* Set to 1 if the isinf function is found in <cmath> */
1357 +#define HAVE_ISINF_IN_CMATH 1
1358 +
1359 +/* Set to 1 if the isinf function is found in <math.h> */
1360 +#define HAVE_ISINF_IN_MATH_H 1
1361 +
1362 +/* Set to 1 if the isnan function is found in <cmath> */
1363 +#define HAVE_ISNAN_IN_CMATH 1
1364 +
1365 +/* Set to 1 if the isnan function is found in <math.h> */
1366 +#define HAVE_ISNAN_IN_MATH_H 1
1367 +
1368 +/* Define if you have the libdl library or equivalent. */
1369 +#define HAVE_LIBDL 1
1370 +
1371 +/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
1372 +/* #undef HAVE_LIBIMAGEHLP */
1373 +
1374 +/* Define to 1 if you have the `m' library (-lm). */
1375 +#define HAVE_LIBM 1
1376 +
1377 +/* Define to 1 if you have the `psapi' library (-lpsapi). */
1378 +/* #undef HAVE_LIBPSAPI */
1379 +
1380 +/* Define to 1 if you have the `pthread' library (-lpthread). */
1381 +#define HAVE_LIBPTHREAD 1
1382 +
1383 +/* Define to 1 if you have the `shell32' library (-lshell32). */
1384 +#define HAVE_LIBSHELL32 1
1385 +
1386 +/* Define to 1 if you have the `udis86' library (-ludis86). */
1387 +/* #undef HAVE_LIBUDIS86 */
1388 +
1389 +/* Define to 1 if you have the <limits.h> header file. */
1390 +#define HAVE_LIMITS_H 1
1391 +
1392 +/* Define if you can use -Wl,-export-dynamic. */
1393 +#define HAVE_LINK_EXPORT_DYNAMIC 1
1394 +
1395 +/* Define to 1 if you have the <link.h> header file. */
1396 +#define HAVE_LINK_H 1
1397 +
1398 +/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
1399 +   the current directory to the dynamic linker search path. */
1400 +#define HAVE_LINK_R 1
1401 +
1402 +/* Define to 1 if you have the `longjmp' function. */
1403 +#define HAVE_LONGJMP 1
1404 +
1405 +/* Define to 1 if you have the <mach/mach.h> header file. */
1406 +/* #undef HAVE_MACH_MACH_H */
1407 +
1408 +/* Define to 1 if you have the <mach-o/dyld.h> header file. */
1409 +/* #undef HAVE_MACH_O_DYLD_H */
1410 +
1411 +/* Define if mallinfo() is available on this platform. */
1412 +#if !defined(__APPLE__)
1413 +#define HAVE_MALLINFO 1
1414 +#else
1415 +/* #undef HAVE_MALLINFO */
1416 +#endif
1417 +
1418 +/* Define to 1 if you have the <malloc.h> header file. */
1419 +/* #define HAVE_MALLOC_H 1 */ /* Defined by AndroidConfig.h */
1420 +
1421 +/* Define to 1 if you have the <malloc/malloc.h> header file. */
1422 +/* #undef HAVE_MALLOC_MALLOC_H */
1423 +
1424 +/* Define to 1 if you have the `malloc_zone_statistics' function. */
1425 +/* #undef HAVE_MALLOC_ZONE_STATISTICS */
1426 +
1427 +/* Define to 1 if you have the `memcpy' function. */
1428 +#define HAVE_MEMCPY 1
1429 +
1430 +/* Define to 1 if you have the `memmove' function. */
1431 +#define HAVE_MEMMOVE 1
1432 +
1433 +/* Define to 1 if you have the <memory.h> header file. */
1434 +#define HAVE_MEMORY_H 1
1435 +
1436 +/* Define to 1 if you have the `mkdtemp' function. */
1437 +#define HAVE_MKDTEMP 1
1438 +
1439 +/* Define to 1 if you have the `mkstemp' function. */
1440 +#define HAVE_MKSTEMP 1
1441 +
1442 +/* Define to 1 if you have the `mktemp' function. */
1443 +#define HAVE_MKTEMP 1
1444 +
1445 +/* Define to 1 if you have a working `mmap' system call. */
1446 +#define HAVE_MMAP 1
1447 +
1448 +/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
1449 +   it uses MAP_ANON */
1450 +#if !defined(__APPLE__)
1451 +#define HAVE_MMAP_ANONYMOUS
1452 +#else
1453 +/* #undef HAVE_MMAP_ANONYMOUS */
1454 +#endif
1455 +
1456 +/* Define if mmap() can map files into memory */
1457 +#define HAVE_MMAP_FILE
1458 +
1459 +/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
1460 +/* #undef HAVE_NDIR_H */
1461 +
1462 +/* Define to 1 if you have the `nearbyintf' function. */
1463 +#define HAVE_NEARBYINTF 1
1464 +
1465 +/* Define if the neat program is available */
1466 +/* #undef HAVE_NEATO */
1467 +
1468 +/* Define to 1 if you have the `opendir' function. */
1469 +#define HAVE_OPENDIR 1
1470 +
1471 +/* Define to 1 if you have the `posix_spawn' function. */
1472 +#define HAVE_POSIX_SPAWN 1
1473 +
1474 +/* Define to 1 if you have the `powf' function. */
1475 +#define HAVE_POWF 1
1476 +
1477 +/* Define to 1 if you have the `pread' function. */
1478 +#if !defined(_WIN32) && !defined(_WIN64)
1479 +#define HAVE_PREAD 1
1480 +#endif
1481 +
1482 +/* Define if libtool can extract symbol lists from object files. */
1483 +#define HAVE_PRELOADED_SYMBOLS 1
1484 +
1485 +/* Define to have the %a format string */
1486 +#define HAVE_PRINTF_A 1
1487 +
1488 +#if !defined(_WIN32) && !defined(_WIN64)
1489 +
1490 +/* Have pthread_getspecific */
1491 +#define HAVE_PTHREAD_GETSPECIFIC 1
1492 +
1493 +/* Define to 1 if you have the <pthread.h> header file. */
1494 +#define HAVE_PTHREAD_H 1
1495 +
1496 +/* Have pthread_mutex_lock */
1497 +#define HAVE_PTHREAD_MUTEX_LOCK 1
1498 +
1499 +/* Have pthread_rwlock_init */
1500 +#define HAVE_PTHREAD_RWLOCK_INIT 1
1501 +
1502 +#endif /* !defined(_WIN32) && !defined(_WIN64) */
1503 +
1504 +/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
1505 +#define HAVE_RAND48 1
1506 +
1507 +/* Define to 1 if you have the `readdir' function. */
1508 +#define HAVE_READDIR 1
1509 +
1510 +/* Define to 1 if you have the `realpath' function. */
1511 +#define HAVE_REALPATH 1
1512 +
1513 +/* Define to 1 if you have the `rindex' function. */
1514 +/* #undef HAVE_RINDEX */
1515 +
1516 +/* Define to 1 if you have the `rintf' function. */
1517 +#define HAVE_RINTF 1
1518 +
1519 +/* Define to 1 if you have the `round' function. */
1520 +#define HAVE_ROUND 1
1521 +
1522 +/* Define to 1 if you have the `roundf' function. */
1523 +#define HAVE_ROUNDF 1
1524 +
1525 +/* Define to 1 if you have the `sbrk' function. */
1526 +#define HAVE_SBRK 1
1527 +
1528 +/* Define to 1 if you have the `setenv' function. */
1529 +#define HAVE_SETENV 1
1530 +
1531 +/* Define to 1 if you have the `setjmp' function. */
1532 +#define HAVE_SETJMP 1
1533 +
1534 +/* Define to 1 if you have the <setjmp.h> header file. */
1535 +#define HAVE_SETJMP_H 1
1536 +
1537 +/* Define to 1 if you have the `setrlimit' function. */
1538 +#define HAVE_SETRLIMIT 1
1539 +
1540 +/* Define if you have the shl_load function. */
1541 +/* #undef HAVE_SHL_LOAD */
1542 +
1543 +/* Define to 1 if you have the `siglongjmp' function. */
1544 +#define HAVE_SIGLONGJMP 1
1545 +
1546 +/* Define to 1 if you have the <signal.h> header file. */
1547 +#define HAVE_SIGNAL_H 1
1548 +
1549 +/* Define to 1 if you have the `sigsetjmp' function. */
1550 +/* #undef HAVE_SIGSETJMP */
1551 +
1552 +/* Define to 1 if you have the <stdint.h> header file. */
1553 +#define HAVE_STDINT_H 1
1554 +
1555 +/* Define to 1 if you have the <stdio.h> header file. */
1556 +#define HAVE_STDIO_H 1
1557 +
1558 +/* Define to 1 if you have the <stdlib.h> header file. */
1559 +#define HAVE_STDLIB_H 1
1560 +
1561 +/* Set to 1 if the std::isinf function is found in <cmath> */
1562 +#define HAVE_STD_ISINF_IN_CMATH 1
1563 +
1564 +/* Set to 1 if the std::isnan function is found in <cmath> */
1565 +#define HAVE_STD_ISNAN_IN_CMATH 1
1566 +
1567 +/* Define to 1 if you have the `strchr' function. */
1568 +#define HAVE_STRCHR 1
1569 +
1570 +/* Define to 1 if you have the `strcmp' function. */
1571 +#define HAVE_STRCMP 1
1572 +
1573 +/* Define to 1 if you have the `strdup' function. */
1574 +#define HAVE_STRDUP 1
1575 +
1576 +/* Define to 1 if you have the `strerror' function. */
1577 +#define HAVE_STRERROR 1
1578 +
1579 +/* Define to 1 if you have the `strerror_r' function. */
1580 +#ifndef USE_MINGW
1581 +#define HAVE_STRERROR_R 1
1582 +#endif
1583 +
1584 +/* Define to 1 if you have the <strings.h> header file. */
1585 +#define HAVE_STRINGS_H 1
1586 +
1587 +/* Define to 1 if you have the <string.h> header file. */
1588 +#define HAVE_STRING_H 1
1589 +
1590 +/* Define to 1 if you have the `strrchr' function. */
1591 +#define HAVE_STRRCHR 1
1592 +
1593 +/* Define to 1 if you have the `strtof' function. */
1594 +#define HAVE_STRTOF 1
1595 +
1596 +/* Define to 1 if you have the `strtoll' function. */
1597 +#define HAVE_STRTOLL 1
1598 +
1599 +/* Define to 1 if you have the `strtoq' function. */
1600 +#define HAVE_STRTOQ 1
1601 +
1602 +/* Define to 1 if you have the `sysconf' function. */
1603 +#define HAVE_SYSCONF 1
1604 +
1605 +/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
1606 +   */
1607 +/* #undef HAVE_SYS_DIR_H */
1608 +
1609 +/* Define to 1 if you have the <sys/dl.h> header file. */
1610 +/* #undef HAVE_SYS_DL_H */
1611 +
1612 +/* Define to 1 if you have the <sys/ioctl.h> header file. */
1613 +#define HAVE_SYS_IOCTL_H 1
1614 +
1615 +/* Define to 1 if you have the <sys/mman.h> header file. */
1616 +#define HAVE_SYS_MMAN_H 1
1617 +
1618 +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
1619 +   */
1620 +/* #undef HAVE_SYS_NDIR_H */
1621 +
1622 +/* Define to 1 if you have the <sys/param.h> header file. */
1623 +#define HAVE_SYS_PARAM_H 1
1624 +
1625 +/* Define to 1 if you have the <sys/resource.h> header file. */
1626 +#define HAVE_SYS_RESOURCE_H 1
1627 +
1628 +/* Define to 1 if you have the <sys/stat.h> header file. */
1629 +#define HAVE_SYS_STAT_H 1
1630 +
1631 +/* Define to 1 if you have the <sys/time.h> header file. */
1632 +#define HAVE_SYS_TIME_H 1
1633 +
1634 +/* Define to 1 if you have the <sys/types.h> header file. */
1635 +#define HAVE_SYS_TYPES_H 1
1636 +
1637 +/* Define to 1 if you have the <sys/uio.h> header file. */
1638 +/* #define HAVE_SYS_UIO_H 1 */
1639 +
1640 +/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
1641 +#define HAVE_SYS_WAIT_H 1
1642 +
1643 +/* Define to 1 if you have the <termios.h> header file. */
1644 +#define HAVE_TERMIOS_H 1
1645 +
1646 +/* Define if the neat program is available */
1647 +/* #undef HAVE_TWOPI */
1648 +
1649 +/* Define to 1 if the system has the type `uint64_t'. */
1650 +#define HAVE_UINT64_T 1
1651 +
1652 +/* Define to 1 if you have the <unistd.h> header file. */
1653 +#define HAVE_UNISTD_H 1
1654 +
1655 +/* Define to 1 if you have the <utime.h> header file. */
1656 +#define HAVE_UTIME_H 1
1657 +
1658 +/* Define to 1 if the system has the type `u_int64_t'. */
1659 +/* #undef HAVE_U_INT64_T */
1660 +
1661 +/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
1662 +/* #undef HAVE_VALGRIND_VALGRIND_H */
1663 +
1664 +#if defined(_WIN32) || defined(_WIN64)
1665 +/* Define to 1 if you have the <windows.h> header file. */
1666 +#define HAVE_WINDOWS_H 1
1667 +
1668 +/* Define to 1 if you have the `writev' function. */
1669 +/* #undef HAVE_WRITEV */
1670 +
1671 +#else
1672 +/* Define to 1 if you have the <windows.h> header file. */
1673 +/* #undef HAVE_WINDOWS_H */
1674 +
1675 +/* Define to 1 if you have the `writev' function. */
1676 +#define HAVE_WRITEV 1
1677 +#endif
1678 +
1679 +/* Define if the xdot.py program is available */
1680 +/* #undef HAVE_XDOT_PY */
1681 +
1682 +/* Have host's _alloca */
1683 +/* #undef HAVE__ALLOCA */
1684 +
1685 +/* Have host's __alloca */
1686 +/* #undef HAVE___ALLOCA */
1687 +
1688 +/* Have host's __ashldi3 */
1689 +/* #undef HAVE___ASHLDI3 */
1690 +
1691 +/* Have host's __ashrdi3 */
1692 +/* #undef HAVE___ASHRDI3 */
1693 +
1694 +/* Have host's __chkstk */
1695 +/* #undef HAVE___CHKSTK */
1696 +
1697 +/* Have host's __cmpdi2 */
1698 +/* #undef HAVE___CMPDI2 */
1699 +
1700 +/* Have host's __divdi3 */
1701 +/* #undef HAVE___DIVDI3 */
1702 +
1703 +/* Define to 1 if you have the `__dso_handle' function. */
1704 +/* #undef HAVE___DSO_HANDLE */
1705 +
1706 +/* Have host's __fixdfdi */
1707 +/* #undef HAVE___FIXDFDI */
1708 +
1709 +/* Have host's __fixsfdi */
1710 +/* #undef HAVE___FIXSFDI */
1711 +
1712 +/* Have host's __floatdidf */
1713 +/* #undef HAVE___FLOATDIDF */
1714 +
1715 +/* Have host's __lshrdi3 */
1716 +/* #undef HAVE___LSHRDI3 */
1717 +
1718 +/* Have host's __main */
1719 +/* #undef HAVE___MAIN */
1720 +
1721 +/* Have host's __moddi3 */
1722 +/* #undef HAVE___MODDI3 */
1723 +
1724 +/* Have host's __udivdi3 */
1725 +/* #undef HAVE___UDIVDI3 */
1726 +
1727 +/* Have host's __umoddi3 */
1728 +/* #undef HAVE___UMODDI3 */
1729 +
1730 +/* Have host's ___chkstk */
1731 +/* #undef HAVE____CHKSTK */
1732 +
1733 +/* Linker version detected at compile time. */
1734 +#define HOST_LINK_VERSION "2.20.1"
1735 +
1736 +/* Installation directory for binary executables */
1737 +#define LLVM_BINDIR "/opt/llvm-android/bin"
1738 +
1739 +/* Time at which LLVM was configured */
1740 +#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
1741 +
1742 +/* Installation directory for data files */
1743 +#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
1744 +
1745 +/* Target triple LLVM will generate code for by default */
1746 +#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
1747 +
1748 +/* Installation directory for documentation */
1749 +#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
1750 +
1751 +/* Define if threads enabled */
1752 +#define LLVM_ENABLE_THREADS 1
1753 +
1754 +/* Installation directory for config files */
1755 +#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
1756 +
1757 +#if !defined(_WIN32) && !defined(_WIN64)
1758 +
1759 +/* Has gcc/MSVC atomic intrinsics */
1760 +#define LLVM_HAS_ATOMICS 1
1761 +
1762 +#else
1763 +
1764 +#define LLVM_HAS_ATOMICS 0
1765 +
1766 +#endif /* !defined(_WIN32) && !defined(_WIN64) */
1767 +
1768 +/* Installation directory for include files */
1769 +#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
1770 +
1771 +/* Installation directory for .info files */
1772 +#define LLVM_INFODIR "/opt/llvm-android/info"
1773 +
1774 +/* Installation directory for libraries */
1775 +#define LLVM_LIBDIR "/opt/llvm-android/lib"
1776 +
1777 +/* Installation directory for man pages */
1778 +#define LLVM_MANDIR "/opt/llvm-android/man"
1779 +
1780 +/* Define to path to circo program if found or 'echo circo' otherwise */
1781 +/* #undef LLVM_PATH_CIRCO */
1782 +
1783 +/* Define to path to dot program if found or 'echo dot' otherwise */
1784 +/* #undef LLVM_PATH_DOT */
1785 +
1786 +/* Define to path to dotty program if found or 'echo dotty' otherwise */
1787 +/* #undef LLVM_PATH_DOTTY */
1788 +
1789 +/* Define to path to fdp program if found or 'echo fdp' otherwise */
1790 +/* #undef LLVM_PATH_FDP */
1791 +
1792 +/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
1793 +/* #undef LLVM_PATH_GRAPHVIZ */
1794 +
1795 +/* Define to path to gv program if found or 'echo gv' otherwise */
1796 +/* #undef LLVM_PATH_GV */
1797 +
1798 +/* Define to path to neato program if found or 'echo neato' otherwise */
1799 +/* #undef LLVM_PATH_NEATO */
1800 +
1801 +/* Define to path to twopi program if found or 'echo twopi' otherwise */
1802 +/* #undef LLVM_PATH_TWOPI */
1803 +
1804 +/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
1805 +/* #undef LLVM_PATH_XDOT_PY */
1806 +
1807 +/* Installation prefix directory */
1808 +#define LLVM_PREFIX "/opt/llvm-android"
1809 +
1810 +/* Define if we have the Intel JIT API runtime support library */
1811 +#define LLVM_USE_INTEL_JITEVENTS 0
1812 +
1813 +/* Define if we have the oprofile JIT-support library */
1814 +#define LLVM_USE_OPROFILE 0
1815 +
1816 +/* Major version of the LLVM API */
1817 +#define LLVM_VERSION_MAJOR 3
1818 +
1819 +/* Minor version of the LLVM API */
1820 +#define LLVM_VERSION_MINOR 5
1821 +
1822 +/* Define if the OS needs help to load dependent libraries for dlopen(). */
1823 +/* #undef LTDL_DLOPEN_DEPLIBS */
1824 +
1825 +/* Define to the sub-directory in which libtool stores uninstalled libraries.
1826 +   */
1827 +#define LTDL_OBJDIR ".libs/"
1828 +
1829 +/* Define to the name of the environment variable that determines the dynamic
1830 +   library search path. */
1831 +#define LTDL_SHLIBPATH_VAR "LD_LIBRARY_PATH"
1832 +
1833 +/* Define to the extension used for shared libraries, say, ".so". */
1834 +#define LTDL_SHLIB_EXT ".so"
1835 +
1836 +/* Define to the system default library search path. */
1837 +#define LTDL_SYSSEARCHPATH "/lib:/usr/lib:/usr/local/lib:/lib:/usr/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib32:/usr/lib32:/usr/local/lib32:/usr/x86_64-pc-linux-gnu/lib:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4:/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2:/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32"
1838 +
1839 +/* Define if /dev/zero should be used when mapping RWX memory, or undefine if
1840 +   its not necessary */
1841 +/* #undef NEED_DEV_ZERO_FOR_MMAP */
1842 +
1843 +/* Define if dlsym() requires a leading underscore in symbol names. */
1844 +/* #undef NEED_USCORE */
1845 +
1846 +/* Define to the address where bug reports for this package should be sent. */
1847 +#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
1848 +
1849 +/* Define to the full name of this package. */
1850 +#define PACKAGE_NAME "LLVM"
1851 +
1852 +/* Define to the full name and version of this package. */
1853 +#define PACKAGE_STRING "LLVM 3.4"
1854 +
1855 +/* Define to the one symbol short name of this package. */
1856 +#define PACKAGE_TARNAME "llvm"
1857 +
1858 +/* Define to the version of this package. */
1859 +#define PACKAGE_VERSION "3.4"
1860 +
1861 +/* Define as the return type of signal handlers (`int' or `void'). */
1862 +#define RETSIGTYPE void
1863 +
1864 +/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
1865 +/* #undef STAT_MACROS_BROKEN */
1866 +
1867 +/* Define to 1 if you have the ANSI C header files. */
1868 +#define STDC_HEADERS 1
1869 +
1870 +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
1871 +#define TIME_WITH_SYS_TIME 1
1872 +
1873 +/* Define to 1 if your <sys/time.h> declares `struct tm'. */
1874 +/* #undef TM_IN_SYS_TIME */
1875 +
1876 +/* Define if use udis86 library */
1877 +#define USE_UDIS86 0
1878 +
1879 +/* Define to empty if `const' does not conform to ANSI C. */
1880 +/* #undef const */
1881 +
1882 +/* Define to a type to use for `error_t' if it is not otherwise available. */
1883 +/* #undef error_t */
1884 +
1885 +/* Define to `int' if <sys/types.h> does not define. */
1886 +/* #undef pid_t */
1887 +
1888 +/* Define to `unsigned int' if <sys/types.h> does not define. */
1889 +/* #undef size_t */
1890 +
1891 +#include "llvm/Config/llvm-platform-config.h"
1892 +
1893 +#endif
1894 diff --git a/host/include/llvm/Config/llvm-config.h b/host/include/llvm/Config/llvm-config.h
1895 new file mode 100644
1896 index 0000000..95f85fe
1897 --- /dev/null
1898 +++ b/host/include/llvm/Config/llvm-config.h
1899 @@ -0,0 +1,102 @@
1900 +/* include/llvm/Config/llvm-config.h.  Generated from llvm-config.h.in by configure.  */
1901 +/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
1902 +/*                                                                            */
1903 +/*                     The LLVM Compiler Infrastructure                       */
1904 +/*                                                                            */
1905 +/* This file is distributed under the University of Illinois Open Source      */
1906 +/* License. See LICENSE.TXT for details.                                      */
1907 +/*                                                                            */
1908 +/*===----------------------------------------------------------------------===*/
1909 +
1910 +/* This file enumerates all of the llvm variables from configure so that
1911 +   they can be in exported headers and won't override package specific
1912 +   directives.  This is a C file so we can include it in the llvm-c headers.  */
1913 +
1914 +/* To avoid multiple inclusions of these variables when we include the exported
1915 +   headers and config.h, conditionally include these.  */
1916 +/* TODO: This is a bit of a hack.  */
1917 +#ifndef CONFIG_H
1918 +
1919 +/* Installation directory for binary executables */
1920 +#define LLVM_BINDIR "/opt/llvm-android/bin"
1921 +
1922 +/* Time at which LLVM was configured */
1923 +#define LLVM_CONFIGTIME "Tue May  8 14:22:45 CST 2012"
1924 +
1925 +/* Installation directory for data files */
1926 +#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
1927 +
1928 +/* Target triple LLVM will generate code for by default */
1929 +#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
1930 +
1931 +/* Installation directory for documentation */
1932 +#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
1933 +
1934 +/* Define if threads enabled */
1935 +#define LLVM_ENABLE_THREADS 1
1936 +
1937 +/* Installation directory for config files */
1938 +#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
1939 +
1940 +#if !defined(_WIN32) && !defined(_WIN64)
1941 +
1942 +/* Has gcc/MSVC atomic intrinsics */
1943 +#define LLVM_HAS_ATOMICS 1
1944 +
1945 +#else
1946 +
1947 +#define LLVM_HAS_ATOMICS 0
1948 +
1949 +#endif /* !defined(_WIN32) && !defined(_WIN64) */
1950 +
1951 +/* Installation directory for include files */
1952 +#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
1953 +
1954 +/* Installation directory for .info files */
1955 +#define LLVM_INFODIR "/opt/llvm-android/info"
1956 +
1957 +/* Installation directory for libraries */
1958 +#define LLVM_LIBDIR "/opt/llvm-android/lib"
1959 +
1960 +/* Installation directory for man pages */
1961 +#define LLVM_MANDIR "/opt/llvm-android/man"
1962 +
1963 +/* Define to path to circo program if found or 'echo circo' otherwise */
1964 +/* #undef LLVM_PATH_CIRCO */
1965 +
1966 +/* Define to path to dot program if found or 'echo dot' otherwise */
1967 +/* #undef LLVM_PATH_DOT */
1968 +
1969 +/* Define to path to dotty program if found or 'echo dotty' otherwise */
1970 +/* #undef LLVM_PATH_DOTTY */
1971 +
1972 +/* Define to path to fdp program if found or 'echo fdp' otherwise */
1973 +/* #undef LLVM_PATH_FDP */
1974 +
1975 +/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
1976 +/* #undef LLVM_PATH_GRAPHVIZ */
1977 +
1978 +/* Define to path to gv program if found or 'echo gv' otherwise */
1979 +/* #undef LLVM_PATH_GV */
1980 +
1981 +/* Define to path to neato program if found or 'echo neato' otherwise */
1982 +/* #undef LLVM_PATH_NEATO */
1983 +
1984 +/* Define to path to twopi program if found or 'echo twopi' otherwise */
1985 +/* #undef LLVM_PATH_TWOPI */
1986 +
1987 +/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
1988 +/* #undef LLVM_PATH_XDOT_PY */
1989 +
1990 +/* Installation prefix directory */
1991 +#define LLVM_PREFIX "/opt/llvm-android"
1992 +
1993 +/* Major version of the LLVM API */
1994 +#define LLVM_VERSION_MAJOR 3
1995 +
1996 +/* Minor version of the LLVM API */
1997 +#define LLVM_VERSION_MINOR 5
1998 +
1999 +#include "llvm/Config/llvm-platform-config.h"
2000 +
2001 +#endif
2002 diff --git a/include/llvm/Config/llvm-platform-config.h b/include/llvm/Config/llvm-platform-config.h
2003 new file mode 100644
2004 index 0000000..cd005be
2005 --- /dev/null
2006 +++ b/include/llvm/Config/llvm-platform-config.h
2007 @@ -0,0 +1,160 @@
2008 +#ifndef LLVM_NATIVE_CONFIG_H
2009 +
2010 +/*===-- llvm/config/llvm-native-config.h --------------------------*- C -*-===*/
2011 +/*                                                                            */
2012 +/*                     The LLVM Compiler Infrastructure                       */
2013 +/*                                                                            */
2014 +/* This file is distributed under the University of Illinois Open Source      */
2015 +/* License. See LICENSE.TXT for details.                                      */
2016 +/*                                                                            */
2017 +/*===----------------------------------------------------------------------===*/
2018 +
2019 +#if defined(__i386__) || defined(__x86_64__)
2020 +
2021 +/* LLVM architecture name for the native architecture, if available */
2022 +#define LLVM_NATIVE_ARCH X86
2023 +
2024 +/* Host triple LLVM will be executed on */
2025 +#define LLVM_HOST_TRIPLE "i686-unknown-linux-gnu"
2026 +
2027 +/* LLVM name for the native AsmParser init function, if available */
2028 +#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
2029 +
2030 +/* LLVM name for the native AsmPrinter init function, if available */
2031 +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
2032 +
2033 +/* LLVM name for the native Disassembler init function, if available */
2034 +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
2035 +
2036 +/* LLVM name for the native Target init function, if available */
2037 +#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
2038 +
2039 +/* LLVM name for the native TargetInfo init function, if available */
2040 +#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
2041 +
2042 +/* LLVM name for the native target MC init function, if available */
2043 +#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
2044 +
2045 +
2046 +#elif defined(__arm__)
2047 +
2048 +/* LLVM architecture name for the native architecture, if available */
2049 +#define LLVM_NATIVE_ARCH ARM
2050 +
2051 +/* Host triple LLVM will be executed on */
2052 +#define LLVM_HOST_TRIPLE "arm-unknown-linux-gnu"
2053 +
2054 +/* LLVM name for the native AsmParser init function, if available */
2055 +#define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser
2056 +
2057 +/* LLVM name for the native AsmPrinter init function, if available */
2058 +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeARMAsmPrinter
2059 +
2060 +/* LLVM name for the native Disassembler init function, if available */
2061 +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeARMDisassembler
2062 +
2063 +/* LLVM name for the native Target init function, if available */
2064 +#define LLVM_NATIVE_TARGET LLVMInitializeARMTarget
2065 +
2066 +/* LLVM name for the native TargetInfo init function, if available */
2067 +#define LLVM_NATIVE_TARGETINFO LLVMInitializeARMTargetInfo
2068 +
2069 +/* LLVM name for the native target MC init function, if available */
2070 +#define LLVM_NATIVE_TARGETMC LLVMInitializeARMTargetMC
2071 +
2072 +
2073 +#elif defined(__mips__)
2074 +
2075 +/* LLVM architecture name for the native architecture, if available */
2076 +#define LLVM_NATIVE_ARCH Mips
2077 +
2078 +/* Host triple LLVM will be executed on */
2079 +#define LLVM_HOST_TRIPLE "mipsel-unknown-linux-gnu"
2080 +
2081 +/* LLVM name for the native AsmParser init function, if available */
2082 +#define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser
2083 +
2084 +/* LLVM name for the native AsmPrinter init function, if available */
2085 +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeMipsAsmPrinter
2086 +
2087 +/* LLVM name for the native Disassembler init function, if available */
2088 +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeMipsDisassembler
2089 +
2090 +/* LLVM name for the native Target init function, if available */
2091 +#define LLVM_NATIVE_TARGET LLVMInitializeMipsTarget
2092 +
2093 +/* LLVM name for the native TargetInfo init function, if available */
2094 +#define LLVM_NATIVE_TARGETINFO LLVMInitializeMipsTargetInfo
2095 +
2096 +/* LLVM name for the native target MC init function, if available */
2097 +#define LLVM_NATIVE_TARGETMC LLVMInitializeMipsTargetMC
2098 +
2099 +#elif defined(__aarch64__)
2100 +
2101 +/* LLVM architecture name for the native architecture, if available */
2102 +#define LLVM_NATIVE_ARCH AArch64
2103 +
2104 +/* Host triple LLVM will be executed on */
2105 +#define LLVM_HOST_TRIPLE "aarch64-none-linux-gnu"
2106 +
2107 +/* LLVM name for the native AsmParser init function, if available */
2108 +#define LLVM_NATIVE_ASMPARSER LLVMInitializeAArch64AsmParser
2109 +
2110 +/* LLVM name for the native AsmPrinter init function, if available */
2111 +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeAArch64AsmPrinter
2112 +
2113 +/* LLVM name for the native Disassembler init function, if available */
2114 +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeAArch64Disassembler
2115 +
2116 +/* LLVM name for the native Target init function, if available */
2117 +#define LLVM_NATIVE_TARGET LLVMInitializeAArch64Target
2118 +
2119 +/* LLVM name for the native TargetInfo init function, if available */
2120 +#define LLVM_NATIVE_TARGETINFO LLVMInitializeAArch64TargetInfo
2121 +
2122 +/* LLVM name for the native target MC init function, if available */
2123 +#define LLVM_NATIVE_TARGETMC LLVMInitializeAArch64TargetMC
2124 +
2125 +#else
2126 +
2127 +#error "Unknown native architecture"
2128 +
2129 +#endif
2130 +
2131 +
2132 +
2133 +#if defined(_WIN32) || defined(_WIN64)
2134 +
2135 +/* Define if this is Unixish platform */
2136 +/* #undef LLVM_ON_UNIX */
2137 +
2138 +/* Define if this is Win32ish platform */
2139 +#define LLVM_ON_WIN32 1
2140 +
2141 +/* Define to 1 if you have the <windows.h> header file. */
2142 +#define HAVE_WINDOWS_H 1
2143 +
2144 +/* Define to 1 if you have the `psapi' library (-lpsapi). */
2145 +#define HAVE_LIBPSAPI 1
2146 +
2147 +/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
2148 +#define HAVE_LIBIMAGEHLP 1
2149 +
2150 +/* Type of 1st arg on ELM Callback */
2151 +#define WIN32_ELMCB_PCSTR PSTR
2152 +
2153 +
2154 +#else /* Linux, Mac OS X, ... Unixish platform */
2155 +
2156 +/* Define if this is Unixish platform */
2157 +#define LLVM_ON_UNIX 1
2158 +
2159 +/* Define if this is Win32ish platform */
2160 +/* #undef LLVM_ON_WIN32 */
2161 +
2162 +/* Type of 1st arg on ELM Callback */
2163 +/* #undef WIN32_ELMCB_PCSTR */
2164 +
2165 +#endif
2166 +
2167 +#endif // LLVM_NATIVE_CONFIG_H
2168 diff --git a/include/llvm/Support/DataTypes.h b/include/llvm/Support/DataTypes.h
2169 new file mode 100644
2170 index 0000000..a4a65b8
2171 --- /dev/null
2172 +++ b/include/llvm/Support/DataTypes.h
2173 @@ -0,0 +1,213 @@
2174 +/* include/llvm/Support/DataTypes.h.  Generated from DataTypes.h.in by configure.  */
2175 +/*===-- include/Support/DataTypes.h - Define fixed size types -----*- C -*-===*\
2176 +|*                                                                            *|
2177 +|*                     The LLVM Compiler Infrastructure                       *|
2178 +|*                                                                            *|
2179 +|* This file is distributed under the University of Illinois Open Source      *|
2180 +|* License. See LICENSE.TXT for details.                                      *|
2181 +|*                                                                            *|
2182 +|*===----------------------------------------------------------------------===*|
2183 +|*                                                                            *|
2184 +|* This file contains definitions to figure out the size of _HOST_ data types.*|
2185 +|* This file is important because different host OS's define different macros,*|
2186 +|* which makes portability tough.  This file exports the following            *|
2187 +|* definitions:                                                               *|
2188 +|*                                                                            *|
2189 +|*   [u]int(32|64)_t : typedefs for signed and unsigned 32/64 bit system types*|
2190 +|*   [U]INT(8|16|32|64)_(MIN|MAX) : Constants for the min and max values.     *|
2191 +|*                                                                            *|
2192 +|* No library is required when using these functions.                         *|
2193 +|*                                                                            *|
2194 +|*===----------------------------------------------------------------------===*/
2195 +
2196 +/* Please leave this file C-compatible. */
2197 +
2198 +/* Please keep this file in sync with DataTypes.h.cmake */
2199 +
2200 +#ifndef SUPPORT_DATATYPES_H
2201 +#define SUPPORT_DATATYPES_H
2202 +
2203 +#define HAVE_SYS_TYPES_H 1
2204 +#define HAVE_INTTYPES_H 1
2205 +#define HAVE_STDINT_H 1
2206 +#define HAVE_UINT64_T 1
2207 +/* #undef HAVE_U_INT64_T */
2208 +
2209 +#ifdef __cplusplus
2210 +#include <cmath>
2211 +#else
2212 +#include <math.h>
2213 +#endif
2214 +
2215 +#ifndef _MSC_VER
2216 +
2217 +/* Note that this header's correct operation depends on __STDC_LIMIT_MACROS
2218 +   being defined.  We would define it here, but in order to prevent Bad Things
2219 +   happening when system headers or C++ STL headers include stdint.h before we
2220 +   define it here, we define it on the g++ command line (in Makefile.rules). */
2221 +#if !defined(__STDC_LIMIT_MACROS)
2222 +# error "Must #define __STDC_LIMIT_MACROS before #including Support/DataTypes.h"
2223 +#endif
2224 +
2225 +#if !defined(__STDC_CONSTANT_MACROS)
2226 +# error "Must #define __STDC_CONSTANT_MACROS before " \
2227 +        "#including Support/DataTypes.h"
2228 +#endif
2229 +
2230 +/* Note that <inttypes.h> includes <stdint.h>, if this is a C99 system. */
2231 +#ifdef HAVE_SYS_TYPES_H
2232 +#include <sys/types.h>
2233 +#endif
2234 +
2235 +#ifdef HAVE_INTTYPES_H
2236 +#include <inttypes.h>
2237 +#endif
2238 +
2239 +#ifdef HAVE_STDINT_H
2240 +#include <stdint.h>
2241 +#endif
2242 +
2243 +#ifdef _AIX
2244 +#include "llvm/Support/AIXDataTypesFix.h"
2245 +#endif
2246 +
2247 +/* Handle incorrect definition of uint64_t as u_int64_t */
2248 +#ifndef HAVE_UINT64_T
2249 +#ifdef HAVE_U_INT64_T
2250 +typedef u_int64_t uint64_t;
2251 +#else
2252 +# error "Don't have a definition for uint64_t on this platform"
2253 +#endif
2254 +#endif
2255 +
2256 +#ifdef _OpenBSD_
2257 +#define INT8_MAX 127
2258 +#define INT8_MIN -128
2259 +#define UINT8_MAX 255
2260 +#define INT16_MAX 32767
2261 +#define INT16_MIN -32768
2262 +#define UINT16_MAX 65535
2263 +#define INT32_MAX 2147483647
2264 +#define INT32_MIN -2147483648
2265 +#define UINT32_MAX 4294967295U
2266 +#endif
2267 +
2268 +#else /* _MSC_VER */
2269 +/* Visual C++ doesn't provide standard integer headers, but it does provide
2270 +   built-in data types. */
2271 +#include <stdlib.h>
2272 +#include <stddef.h>
2273 +#include <sys/types.h>
2274 +#ifdef __cplusplus
2275 +#include <cmath>
2276 +#else
2277 +#include <math.h>
2278 +#endif
2279 +typedef __int64 int64_t;
2280 +typedef unsigned __int64 uint64_t;
2281 +typedef signed int int32_t;
2282 +typedef unsigned int uint32_t;
2283 +typedef short int16_t;
2284 +typedef unsigned short uint16_t;
2285 +typedef signed char int8_t;
2286 +typedef unsigned char uint8_t;
2287 +typedef signed int ssize_t;
2288 +#ifndef INT8_MAX
2289 +# define INT8_MAX 127
2290 +#endif
2291 +#ifndef INT8_MIN
2292 +# define INT8_MIN -128
2293 +#endif
2294 +#ifndef UINT8_MAX
2295 +# define UINT8_MAX 255
2296 +#endif
2297 +#ifndef INT16_MAX
2298 +# define INT16_MAX 32767
2299 +#endif
2300 +#ifndef INT16_MIN
2301 +# define INT16_MIN -32768
2302 +#endif
2303 +#ifndef UINT16_MAX
2304 +# define UINT16_MAX 65535
2305 +#endif
2306 +#ifndef INT32_MAX
2307 +# define INT32_MAX 2147483647
2308 +#endif
2309 +#ifndef INT32_MIN
2310 +/* MSC treats -2147483648 as -(2147483648U). */
2311 +# define INT32_MIN (-INT32_MAX - 1)
2312 +#endif
2313 +#ifndef UINT32_MAX
2314 +# define UINT32_MAX 4294967295U
2315 +#endif
2316 +/* Certain compatibility updates to VC++ introduce the `cstdint'
2317 + * header, which defines the INT*_C macros. On default installs they
2318 + * are absent. */
2319 +#ifndef INT8_C
2320 +# define INT8_C(C)   C##i8
2321 +#endif
2322 +#ifndef UINT8_C
2323 +# define UINT8_C(C)  C##ui8
2324 +#endif
2325 +#ifndef INT16_C
2326 +# define INT16_C(C)  C##i16
2327 +#endif
2328 +#ifndef UINT16_C
2329 +# define UINT16_C(C) C##ui16
2330 +#endif
2331 +#ifndef INT32_C
2332 +# define INT32_C(C)  C##i32
2333 +#endif
2334 +#ifndef UINT32_C
2335 +# define UINT32_C(C) C##ui32
2336 +#endif
2337 +#ifndef INT64_C
2338 +# define INT64_C(C)  C##i64
2339 +#endif
2340 +#ifndef UINT64_C
2341 +# define UINT64_C(C) C##ui64
2342 +#endif
2343 +
2344 +#ifndef PRId64
2345 +# define PRId64 "I64d"
2346 +#endif
2347 +#ifndef PRIi64
2348 +# define PRIi64 "I64i"
2349 +#endif
2350 +#ifndef PRIo64
2351 +# define PRIo64 "I64o"
2352 +#endif
2353 +#ifndef PRIu64
2354 +# define PRIu64 "I64u"
2355 +#endif
2356 +#ifndef PRIx64
2357 +# define PRIx64 "I64x"
2358 +#endif
2359 +#ifndef PRIX64
2360 +# define PRIX64 "I64X"
2361 +#endif
2362 +
2363 +#endif /* _MSC_VER */
2364 +
2365 +/* Set defaults for constants which we cannot find. */
2366 +#if !defined(INT64_MAX)
2367 +# define INT64_MAX 9223372036854775807LL
2368 +#endif
2369 +#if !defined(INT64_MIN)
2370 +# define INT64_MIN ((-INT64_MAX)-1)
2371 +#endif
2372 +#if !defined(UINT64_MAX)
2373 +# define UINT64_MAX 0xffffffffffffffffULL
2374 +#endif
2375 +
2376 +#if __GNUC__ > 3
2377 +#define END_WITH_NULL __attribute__((sentinel))
2378 +#else
2379 +#define END_WITH_NULL
2380 +#endif
2381 +
2382 +#ifndef HUGE_VALF
2383 +#define HUGE_VALF (float)HUGE_VAL
2384 +#endif
2385 +
2386 +#endif  /* SUPPORT_DATATYPES_H */
2387 -- 
2388 1.9.1.423.g4596e3a
2389