// Copyright (C) 2017 Jonathan Müller // This file is subject to the license terms in the LICENSE file // found in the top-level directory of this distribution. #include "test_parser.hpp" #include using namespace cppast; void parse_included_files(const cpp_entity_index& idx, const cpp_file& file) { for (auto& e : file) { if (e.kind() == cpp_entity_kind::include_directive_t) { auto path = static_cast(e).full_path(); parse_file(idx, path.c_str()); } } } TEST_CASE("stdlib", "[!hide][integration]") { auto code = R"( // list of headers from: http://en.cppreference.com/w/cpp/header //#include -- problem with compiler built-in stuff on OSX #include //#include -- same as above #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include -- missing types from C header (for some reason) #include //#include -- weird issue with compiler built-in stuff #include #include #include #include #include #include #include #include //#include -- not supported on CI #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include -- non-conforming GCC extension with regards to constexpr //#include -- weird double include issue under MSVC #include #include #include #include //#include -- same issue with cinttypes #include #include #include #include #include #include #include #include #include #include #include //#include -- issue on OSX #include #include #include #include #include #include )"; cpp_entity_index idx; auto file = parse(idx, "stdlib.cpp", code); parse_included_files(idx, *file); }