Files
libcxx/test/std/experimental/filesystem/fs.req.macros/feature_macro.pass.cpp
Eric Fiselier 2493db4b26 Make <experimental/filesystem> explicitly require C++11.
Previously the <experimental/filesystem> didn't guard its
contents in any dialect. However, the implementation implicitly
requires at least C++11, and the tests have always been marked
unsupported in C++03. This patch puts a header guard around the
contents to avoid exposing them before C++11.

Additionally, it replaces all of the usages of _NOEXCEPT or
_LIBCPP_CONSTEXPR with the keyword directly, since we can
expect the compiler to implement those by now.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337884 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-25 03:41:31 +00:00

30 lines
976 B
C++

//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <experimental/filesystem>
// #define __cpp_lib_experimental_filesystem 201406L
#include <experimental/filesystem>
#include "test_macros.h"
#if TEST_STD_VER >= 11
#ifndef __cpp_lib_experimental_filesystem
#error Filesystem feature test macro is not defined (__cpp_lib_experimental_filesystem)
#elif __cpp_lib_experimental_filesystem != 201406L
#error Filesystem feature test macro has an incorrect value (__cpp_lib_experimental_filesystem)
#endif
#else // TEST_STD_VER < 11
#ifdef __cpp_lib_experimental_filesystem
#error Filesystem feature test macro should not be defined in c++03
#endif
#endif
int main() { }