2
0
mirror of https://github.com/boostorg/wave.git synced 2026-01-19 04:42:16 +00:00
Files
wave/test/testwave/testfiles/t_2_017.cpp
Jeff Trull 3b6df8adb1 Include __LINE__, __FILE__, __INCLUDE_LEVEL__, and __VA_OPT__ in hooks (#87)
* Run hooks for certain predefined object-like macros

These are the "dynamic" macros with their own special execution path.
Most predefined macros can be computed at startup time; those were
already covered by the normal expansion code.

*  __VA_OPT__ is supported as a function-like macro

It is referred to as such in the proposal. __VA_ARGS__ is not supported, under the theory that it represents a parameter or set of parameters, and no hooks are called for parameter substitutions.
2020-04-12 12:40:03 -07:00

40 lines
1.3 KiB
C++

/*=============================================================================
Boost.Wave: A Standard compliant C++ preprocessor library
http://www.boost.org/
Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
Software License, Version 1.0. (See accompanying file
LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
// The result of macro expansion must be retokenized to find header-name tokens
// of either <file> or "file". Test inclusion using absolute names.
#if !defined(FILE_002_017_CPP) // avoid #include recursion
#define FILE_002_017_CPP
#include __FILE__
#endif // FILE_002_017_CPP
//R #line 24 "t_2_017.cpp"
//R file t_2_017.cpp
//R #line 24 "t_2_017.cpp"
//R file t_2_017.cpp
file t_2_017.cpp
//H 10: t_2_017.cpp(13): #if
//H 11: t_2_017.cpp(13): #if !defined(FILE_002_017_CPP) : 1
//H 10: t_2_017.cpp(14): #define
//H 08: t_2_017.cpp(14): FILE_002_017_CPP=
//H 10: t_2_017.cpp(16): #include
//H 01: <built-in>(1): __FILE__
//H 02: "$P(t_2_017.cpp)"
//H 03: "$P(t_2_017.cpp)"
//H 04: "$P(t_2_017.cpp)"
//H 05: $B(t_2_017.cpp) ($B(t_2_017.cpp))
//H 10: t_2_017.cpp(13): #if
//H 11: t_2_017.cpp(13): #if !defined(FILE_002_017_CPP) : 0
//H 06:
//H 10: t_2_017.cpp(18): #endif