1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 
11 // Test that we can include each header in two TU's and link them together.
12 
13 // RUN: %cxx -c %s -o %t.first.o %flags %compile_flags
14 // RUN: %cxx -c %s -o %t.second.o -DWITH_MAIN %flags %compile_flags
15 // RUN: %cxx -o %t.exe %t.first.o %t.second.o %flags %link_flags
16 // RUN: %run
17 
18 #include <algorithm>
19 #include <array>
20 #include <bitset>
21 #include <cassert>
22 #include <ccomplex>
23 #include <cctype>
24 #include <cerrno>
25 #include <cfenv>
26 #include <cfloat>
27 #include <chrono>
28 #include <cinttypes>
29 #include <ciso646>
30 #include <climits>
31 #include <clocale>
32 #include <cmath>
33 #include <codecvt>
34 #include <complex>
35 #include <complex.h>
36 #include <condition_variable>
37 #include <csetjmp>
38 #include <csignal>
39 #include <cstdarg>
40 #include <cstdbool>
41 #include <cstddef>
42 #include <cstdint>
43 #include <cstdio>
44 #include <cstdlib>
45 #include <cstring>
46 #include <ctgmath>
47 #include <ctime>
48 #include <cwchar>
49 #include <cwctype>
50 #include <deque>
51 #include <exception>
52 #include <experimental/algorithm>
53 #include <experimental/chrono>
54 #include <experimental/dynarray>
55 #include <experimental/optional>
56 #include <experimental/string_view>
57 #include <experimental/system_error>
58 #include <experimental/type_traits>
59 #include <experimental/utility>
60 #include <ext/hash_map>
61 #include <ext/hash_set>
62 #include <forward_list>
63 #include <fstream>
64 #include <functional>
65 #include <initializer_list>
66 #include <iomanip>
67 #include <ios>
68 #include <iosfwd>
69 #include <iostream>
70 #include <istream>
71 #include <iterator>
72 #include <limits>
73 #include <list>
74 #include <locale>
75 #include <map>
76 #include <memory>
77 #include <new>
78 #include <numeric>
79 #include <ostream>
80 #include <queue>
81 #include <random>
82 #include <ratio>
83 #include <regex>
84 #include <scoped_allocator>
85 #include <set>
86 #include <sstream>
87 #include <stack>
88 #include <stdexcept>
89 #include <streambuf>
90 #include <string>
91 #include <strstream>
92 #include <system_error>
93 #include <tgmath.h>
94 #include <tuple>
95 #include <typeindex>
96 #include <typeinfo>
97 #include <type_traits>
98 #include <unordered_map>
99 #include <unordered_set>
100 #include <utility>
101 #include <valarray>
102 #include <vector>
103 
104 #ifndef _LIBCPP_HAS_NO_THREADS
105 #include <atomic>
106 #include <future>
107 #include <mutex>
108 #include <shared_mutex>
109 #include <thread>
110 #endif
111 
112 #if defined(WITH_MAIN)
main()113 int main() {}
114 #endif
115