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 // Prevent <ext/hash_map> from generating deprecated warnings for this test. 19 #if defined(__DEPRECATED) 20 #undef __DEPRECATED 21 #endif 22 23 // Top level headers 24 #include <algorithm> 25 #include <any> 26 #include <array> 27 #ifndef _LIBCPP_HAS_NO_THREADS 28 #include <atomic> 29 #endif 30 #include <bit> 31 #include <bitset> 32 #include <cassert> 33 #include <ccomplex> 34 #include <cctype> 35 #include <cerrno> 36 #include <cfenv> 37 #include <cfloat> 38 #include <charconv> 39 #include <chrono> 40 #include <cinttypes> 41 #include <ciso646> 42 #include <climits> 43 #include <clocale> 44 #include <cmath> 45 #include <codecvt> 46 #include <compare> 47 #include <complex> 48 #include <complex.h> 49 #include <condition_variable> 50 #include <csetjmp> 51 #include <csignal> 52 #include <cstdarg> 53 #include <cstdbool> 54 #include <cstddef> 55 #include <cstdint> 56 #include <cstdio> 57 #include <cstdlib> 58 #include <cstring> 59 #include <ctgmath> 60 #include <ctime> 61 #include <ctype.h> 62 #include <cwchar> 63 #include <cwctype> 64 #include <deque> 65 #include <errno.h> 66 #include <exception> 67 #include <filesystem> 68 #include <float.h> 69 #include <forward_list> 70 #include <fstream> 71 #include <functional> 72 #ifndef _LIBCPP_HAS_NO_THREADS 73 #include <future> 74 #endif 75 #include <initializer_list> 76 #include <inttypes.h> 77 #include <iomanip> 78 #include <ios> 79 #include <iosfwd> 80 #include <iostream> 81 #include <istream> 82 #include <iterator> 83 #include <limits> 84 #include <limits.h> 85 #include <list> 86 #include <locale> 87 #include <locale.h> 88 #include <map> 89 #include <math.h> 90 #include <memory> 91 #ifndef _LIBCPP_HAS_NO_THREADS 92 #include <mutex> 93 #endif 94 #include <new> 95 #include <numeric> 96 #include <optional> 97 #include <ostream> 98 #include <queue> 99 #include <random> 100 #include <ratio> 101 #include <regex> 102 #include <scoped_allocator> 103 #include <set> 104 #include <setjmp.h> 105 #ifndef _LIBCPP_HAS_NO_THREADS 106 #include <shared_mutex> 107 #endif 108 #include <span> 109 #include <sstream> 110 #include <stack> 111 #include <stdbool.h> 112 #include <stddef.h> 113 #include <stdexcept> 114 #include <stdint.h> 115 #include <stdio.h> 116 #include <stdlib.h> 117 #include <streambuf> 118 #include <string> 119 #include <string.h> 120 #include <string_view> 121 #include <strstream> 122 #include <system_error> 123 #include <tgmath.h> 124 #ifndef _LIBCPP_HAS_NO_THREADS 125 #include <thread> 126 #endif 127 #include <tuple> 128 #include <typeindex> 129 #include <typeinfo> 130 #include <type_traits> 131 #include <unordered_map> 132 #include <unordered_set> 133 #include <utility> 134 #include <valarray> 135 #include <variant> 136 #include <vector> 137 #include <version> 138 #include <wchar.h> 139 #include <wctype.h> 140 141 // experimental headers 142 #if __cplusplus >= 201103L 143 #include <experimental/algorithm> 144 #if defined(__cpp_coroutines) 145 #include <experimental/coroutine> 146 #endif 147 #include <experimental/deque> 148 #include <experimental/filesystem> 149 #include <experimental/forward_list> 150 #include <experimental/functional> 151 #include <experimental/iterator> 152 #include <experimental/list> 153 #include <experimental/map> 154 #include <experimental/memory_resource> 155 #include <experimental/propagate_const> 156 #include <experimental/regex> 157 #include <experimental/simd> 158 #include <experimental/set> 159 #include <experimental/string> 160 #include <experimental/type_traits> 161 #include <experimental/unordered_map> 162 #include <experimental/unordered_set> 163 #include <experimental/utility> 164 #include <experimental/vector> 165 #endif // __cplusplus >= 201103L 166 167 // extended headers 168 #include <ext/hash_map> 169 #include <ext/hash_set> 170 171 #if defined(WITH_MAIN) main()172int main() {} 173 #endif 174