1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // Sometimes C++'s <foo.h> headers get included within extern "C" contexts. This 11 // is ill-formed (no diagnostic required), per [using.headers]p3, but we permit 12 // it as an extension. 13 14 extern "C" { 15 #include <assert.h> 16 // complex.h is not supported in extern "C". 17 #include <ctype.h> 18 #include <errno.h> 19 #include <fenv.h> 20 #include <float.h> 21 #include <inttypes.h> 22 #include <iso646.h> 23 #include <limits.h> 24 #include <locale.h> 25 #include <math.h> 26 #include <setjmp.h> 27 #include <signal.h> 28 #include <stdalign.h> 29 #include <stdarg.h> 30 #include <stdbool.h> 31 #include <stddef.h> 32 #include <stdint.h> 33 #include <stdio.h> 34 #include <stdlib.h> 35 #include <string.h> 36 // tgmath.h is not supported in extern "C". 37 #include <time.h> 38 // FIXME: #include <uchar.h> 39 #include <wchar.h> 40 #include <wctype.h> 41 } 42 43 int main() {} 44