1 
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 // <functional> feature macros
12 
13 /*  Constant                                    Value
14     __cpp_lib_boyer_moore_searcher              201603L
15     __cpp_lib_invoke                            201411L
16     __cpp_lib_not_fn                            201603L
17     __cpp_lib_result_of_sfinae                  201210L
18     __cpp_lib_transparent_operators             201510L
19 
20 */
21 
22 #include <functional>
23 #include <cassert>
24 #include "test_macros.h"
25 
main()26 int main()
27 {
28 //  ensure that the macros that are supposed to be defined in <functional> are defined.
29 
30 #if TEST_STD_VER > 14
31 # if !defined(__cpp_lib_invoke)
32 #  error "__cpp_lib_invoke is not defined"
33 # elif __cpp_lib_invoke < 201411L
34 #  error "__cpp_lib_invoke has an invalid value"
35 # endif
36 #endif
37 
38 /*
39 #if !defined(__cpp_lib_fooby)
40 # error "__cpp_lib_fooby is not defined"
41 #elif __cpp_lib_fooby < 201606L
42 # error "__cpp_lib_fooby has an invalid value"
43 #endif
44 */
45 }
46