Analyze #include statemets expansion
https://build-bench.com/b/BfU9OzjbRzjQX37rR7l6hclFi0I
#include <math.h> #include <iostream> #include <cstdint> #include <vector> #include <string_view>
End up in
/usr/local/include/c++/10.1.0/math.h /usr/local/include/c++/10.1.0/cmath /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/c++config.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/os_defines.h /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/include/x86_64-linux-gnu/bits/long-double.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/cpu_defines.h /usr/local/include/c++/10.1.0/pstl/pstl_config.h /usr/local/include/c++/10.1.0/bits/cpp_type_traits.h /usr/local/include/c++/10.1.0/ext/type_traits.h /usr/include/math.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/include/x86_64-linux-gnu/bits/types.h /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/time64.h /usr/include/x86_64-linux-gnu/bits/math-vector.h /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h /usr/include/x86_64-linux-gnu/bits/floatn.h /usr/include/x86_64-linux-gnu/bits/floatn-common.h /usr/include/x86_64-linux-gnu/bits/long-double.h /usr/include/x86_64-linux-gnu/bits/flt-eval-method.h /usr/include/x86_64-linux-gnu/bits/fp-logb.h /usr/include/x86_64-linux-gnu/bits/fp-fast.h /usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h /usr/include/x86_64-linux-gnu/bits/iscanonical.h /usr/local/include/c++/10.1.0/bits/std_abs.h /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/include/x86_64-linux-gnu/bits/waitflags.h /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/sys/select.h /usr/include/x86_64-linux-gnu/bits/select.h /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/local/include/c++/10.1.0/bits/specfun.h /usr/local/include/c++/10.1.0/bits/stl_algobase.h /usr/local/include/c++/10.1.0/bits/functexcept.h /usr/local/include/c++/10.1.0/bits/exception_defines.h /usr/local/include/c++/10.1.0/ext/numeric_traits.h /usr/local/include/c++/10.1.0/bits/stl_pair.h /usr/local/include/c++/10.1.0/bits/move.h /usr/local/include/c++/10.1.0/type_traits /usr/local/include/c++/10.1.0/compare /usr/local/include/c++/10.1.0/concepts /usr/local/include/c++/10.1.0/bits/stl_iterator_base_types.h /usr/local/include/c++/10.1.0/bits/iterator_concepts.h /usr/local/include/c++/10.1.0/bits/ptr_traits.h /usr/local/include/c++/10.1.0/bits/range_cmp.h /usr/local/include/c++/10.1.0/bits/stl_iterator_base_funcs.h /usr/local/include/c++/10.1.0/bits/concept_check.h /usr/local/include/c++/10.1.0/debug/assertions.h /usr/local/include/c++/10.1.0/bits/stl_iterator.h /usr/local/include/c++/10.1.0/new /usr/local/include/c++/10.1.0/exception /usr/local/include/c++/10.1.0/bits/exception.h /usr/local/include/c++/10.1.0/bits/exception_ptr.h /usr/local/include/c++/10.1.0/bits/cxxabi_init_exception.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/local/include/c++/10.1.0/typeinfo /usr/local/include/c++/10.1.0/bits/hash_bytes.h /usr/local/include/c++/10.1.0/new /usr/local/include/c++/10.1.0/bits/nested_exception.h /usr/local/include/c++/10.1.0/debug/debug.h /usr/local/include/c++/10.1.0/bits/predefined_ops.h /usr/local/include/c++/10.1.0/limits /usr/local/include/c++/10.1.0/tr1/gamma.tcc /usr/local/include/c++/10.1.0/tr1/special_function_util.h /usr/local/include/c++/10.1.0/tr1/bessel_function.tcc /usr/local/include/c++/10.1.0/tr1/beta_function.tcc /usr/local/include/c++/10.1.0/tr1/ell_integral.tcc /usr/local/include/c++/10.1.0/tr1/exp_integral.tcc /usr/local/include/c++/10.1.0/tr1/hypergeometric.tcc /usr/local/include/c++/10.1.0/tr1/legendre_function.tcc /usr/local/include/c++/10.1.0/tr1/modified_bessel_func.tcc /usr/local/include/c++/10.1.0/tr1/poly_hermite.tcc /usr/local/include/c++/10.1.0/tr1/poly_laguerre.tcc /usr/local/include/c++/10.1.0/tr1/riemann_zeta.tcc /usr/local/include/c++/10.1.0/iostream /usr/local/include/c++/10.1.0/ostream /usr/local/include/c++/10.1.0/ios /usr/local/include/c++/10.1.0/iosfwd /usr/local/include/c++/10.1.0/bits/stringfwd.h /usr/local/include/c++/10.1.0/bits/memoryfwd.h /usr/local/include/c++/10.1.0/bits/postypes.h /usr/local/include/c++/10.1.0/cwchar /usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdarg.h /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__FILE.h /usr/include/x86_64-linux-gnu/bits/types/FILE.h /usr/local/include/c++/10.1.0/bits/char_traits.h /usr/local/include/c++/10.1.0/cwchar /usr/local/include/c++/10.1.0/cstdint /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdint.h /usr/include/stdint.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/local/include/c++/10.1.0/bits/localefwd.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/c++locale.h /usr/local/include/c++/10.1.0/clocale /usr/include/locale.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/include/x86_64-linux-gnu/bits/locale.h /usr/local/include/c++/10.1.0/cctype /usr/include/ctype.h /usr/local/include/c++/10.1.0/bits/ios_base.h /usr/local/include/c++/10.1.0/ext/atomicity.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/gthr.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/gthr-default.h /usr/include/pthread.h /usr/include/sched.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/include/x86_64-linux-gnu/bits/sched.h /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/include/x86_64-linux-gnu/bits/time.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h /usr/include/x86_64-linux-gnu/bits/setjmp.h /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/include/x86_64-linux-gnu/bits/wordsize.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/atomic_word.h /usr/local/include/c++/10.1.0/bits/locale_classes.h /usr/local/include/c++/10.1.0/string /usr/local/include/c++/10.1.0/bits/allocator.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/c++allocator.h /usr/local/include/c++/10.1.0/ext/new_allocator.h /usr/local/include/c++/10.1.0/bits/ostream_insert.h /usr/local/include/c++/10.1.0/bits/cxxabi_forced.h /usr/local/include/c++/10.1.0/bits/stl_function.h /usr/local/include/c++/10.1.0/backward/binders.h /usr/local/include/c++/10.1.0/bits/stl_algo.h /usr/local/include/c++/10.1.0/cstdlib /usr/local/include/c++/10.1.0/bits/algorithmfwd.h /usr/local/include/c++/10.1.0/initializer_list /usr/local/include/c++/10.1.0/bits/stl_heap.h /usr/local/include/c++/10.1.0/bits/stl_tempbuf.h /usr/local/include/c++/10.1.0/bits/stl_construct.h /usr/local/include/c++/10.1.0/bits/uniform_int_dist.h /usr/local/include/c++/10.1.0/bits/range_access.h /usr/local/include/c++/10.1.0/bits/int_limits.h /usr/local/include/c++/10.1.0/bits/basic_string.h /usr/local/include/c++/10.1.0/ext/alloc_traits.h /usr/local/include/c++/10.1.0/bits/alloc_traits.h /usr/local/include/c++/10.1.0/string_view /usr/local/include/c++/10.1.0/bits/functional_hash.h /usr/local/include/c++/10.1.0/bits/string_view.tcc /usr/local/include/c++/10.1.0/ext/string_conversions.h /usr/local/include/c++/10.1.0/cstdlib /usr/local/include/c++/10.1.0/cwchar /usr/local/include/c++/10.1.0/cstdio /usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stddef.h /usr/local/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdarg.h /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/x86_64-linux-gnu/bits/sys_errlist.h /usr/local/include/c++/10.1.0/cerrno /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/local/include/c++/10.1.0/bits/charconv.h /usr/local/include/c++/10.1.0/bits/basic_string.tcc /usr/local/include/c++/10.1.0/bits/locale_classes.tcc /usr/local/include/c++/10.1.0/system_error /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/error_constants.h /usr/local/include/c++/10.1.0/cerrno /usr/local/include/c++/10.1.0/stdexcept /usr/local/include/c++/10.1.0/streambuf /usr/local/include/c++/10.1.0/bits/streambuf.tcc /usr/local/include/c++/10.1.0/bits/basic_ios.h /usr/local/include/c++/10.1.0/bits/locale_facets.h /usr/local/include/c++/10.1.0/cwctype /usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/local/include/c++/10.1.0/cctype /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_base.h /usr/local/include/c++/10.1.0/bits/streambuf_iterator.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_inline.h /usr/local/include/c++/10.1.0/bits/locale_facets.tcc /usr/local/include/c++/10.1.0/bits/basic_ios.tcc /usr/local/include/c++/10.1.0/bits/ostream.tcc /usr/local/include/c++/10.1.0/istream /usr/local/include/c++/10.1.0/bits/istream.tcc /usr/local/include/c++/10.1.0/vector /usr/local/include/c++/10.1.0/bits/stl_uninitialized.h /usr/local/include/c++/10.1.0/bits/stl_vector.h /usr/local/include/c++/10.1.0/bits/stl_bvector.h /usr/local/include/c++/10.1.0/bits/vector.tcc Multiple include guards may be useful for: /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/x86_64-linux-gnu/bits/flt-eval-method.h /usr/include/x86_64-linux-gnu/bits/fp-fast.h /usr/include/x86_64-linux-gnu/bits/fp-logb.h /usr/include/x86_64-linux-gnu/bits/iscanonical.h /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/math-vector.h /usr/include/x86_64-linux-gnu/bits/select.h /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/sys_errlist.h /usr/include/x86_64-linux-gnu/bits/time64.h /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/waitflags.h /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/local/include/c++/10.1.0/clocale /usr/local/include/c++/10.1.0/cmath /usr/local/include/c++/10.1.0/cstdio /usr/local/include/c++/10.1.0/cwctype /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_base.h /usr/local/include/c++/10.1.0/x86_64-pc-linux-gnu/bits/ctype_inline.h