1 /*============================================================================= 2 Boost.Wave: A Standard compliant C++ preprocessor library 3 http://www.boost.org/ 4 5 Copyright (c) 2020 Jeff Trull. Distributed under the Boost 6 Software License, Version 1.0. (See accompanying file 7 LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 =============================================================================*/ 9 10 //O --c++17 11 //O -Werror 12 13 // Test __has_include() with system paths 14 15 // point system path to this directory 16 //O -S. 17 18 #ifdef __has_include 19 #if __has_include(<t_2_024.cpp>) 20 #define FOUND_SELF_VIA_SYSTEM_PATH 21 #else 22 #warning could not find this file via system path 23 #endif 24 #else 25 #warning has_include is not defined 26 #endif 27 28 //H 10: t_2_024.cpp(18): #ifdef 29 //H 11: t_2_024.cpp(18): #ifdef __has_include: 1 30 //H 10: t_2_024.cpp(19): #if 31 //H 11: t_2_024.cpp(19): #if __has_include(<t_2_024.cpp>): 1 32 //H 10: t_2_024.cpp(20): #define 33 //H 08: t_2_024.cpp(20): FOUND_SELF_VIA_SYSTEM_PATH= 34 //H 10: t_2_024.cpp(21): #else 35 //H 10: t_2_024.cpp(24): #else 36 37 #ifdef __has_include 38 #if 0 39 #elif __has_include(<t_2_024.cpp>) 40 #define FOUND_SELF_VIA_SYSTEM_PATH_ELIF 41 #else 42 #warning could not find this file via system path - elif 43 #endif 44 #endif 45 46 //H 10: t_2_024.cpp(37): #ifdef 47 //H 11: t_2_024.cpp(37): #ifdef __has_include: 1 48 //H 10: t_2_024.cpp(38): #if 49 //H 11: t_2_024.cpp(38): #if 0: 0 50 //H 10: t_2_024.cpp(39): #elif 51 //H 11: t_2_024.cpp(39): #elif __has_include(<t_2_024.cpp>): 1 52 //H 10: t_2_024.cpp(40): #define 53 //H 08: t_2_024.cpp(40): FOUND_SELF_VIA_SYSTEM_PATH_ELIF= 54 //H 10: t_2_024.cpp(41): #else 55 //H 10: t_2_024.cpp(44): #endif 56 57 #ifdef __has_include 58 #if !__has_include(<some_include_file.h>) 59 #define NOTFOUND_AS_EXPECTED 60 #else 61 #warning found nonexistent file 62 #endif 63 #else 64 #warning has_include is not defined 65 #endif 66 67 //H 10: t_2_024.cpp(57): #ifdef 68 //H 11: t_2_024.cpp(57): #ifdef __has_include: 1 69 //H 10: t_2_024.cpp(58): #if 70 //H 11: t_2_024.cpp(58): #if !__has_include(<some_include_file.h>): 1 71 //H 10: t_2_024.cpp(59): #define 72 //H 08: t_2_024.cpp(59): NOTFOUND_AS_EXPECTED= 73 //H 10: t_2_024.cpp(60): #else 74 //H 10: t_2_024.cpp(63): #else 75 76 #ifdef __has_include 77 #if 0 78 #elif !__has_include(<some_include_file.h>) 79 #define NOTFOUND_AS_EXPECTED_ELIF 80 #else 81 #warning found nonexistent file - elif 82 #endif 83 #endif 84 85 //H 10: t_2_024.cpp(76): #ifdef 86 //H 11: t_2_024.cpp(76): #ifdef __has_include: 1 87 //H 10: t_2_024.cpp(77): #if 88 //H 11: t_2_024.cpp(77): #if 0: 0 89 //H 10: t_2_024.cpp(78): #elif 90 //H 11: t_2_024.cpp(78): #elif !__has_include(<some_include_file.h>): 1 91 //H 10: t_2_024.cpp(79): #define 92 //H 08: t_2_024.cpp(79): NOTFOUND_AS_EXPECTED_ELIF= 93 //H 10: t_2_024.cpp(80): #else 94 //H 10: t_2_024.cpp(83): #endif 95 96