// Copyright (C) 2017-2018 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; 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 -- issue on MSVC #include #include #include #include )"; write_file("stdlib.cpp", code); cpp_entity_index idx; simple_file_parser parser(type_safe::ref(idx), default_logger()); libclang_compile_config config; config.set_flags(cpp_standard::cpp_latest); auto file = parser.parse("stdlib.cpp", config); REQUIRE(!parser.error()); REQUIRE(file); resolve_includes(parser, file.value(), config); REQUIRE(!parser.error()); }