2
0
mirror of https://github.com/boostorg/wave.git synced 2026-01-19 16:52:15 +00:00
Jeff Trull c524b58847 Fix line directives after endif following else (#170) (#171)
* Fix line directives after endif when else clause is present

The initial part of a conditional block (the if/ifdef/ifndef) takes
the "slow" path through the code in cpp_iterator.hpp using the C++
expression grammar, while else and endif directives take the "fast"
path. The slow path sets must_emit_line_directive, and it will be
cleared after either else or endif is processed. Unfortunately when
an else precedes the endif, must_emit_line_directive is cleared and is
never set, as only the slow path sets it. The result is proper line
directives are issued for the else clause, but not for the subsequent
endif.

This changes adds setting of must_emit_line_directive in the "fast"
path for endif so line directives are considered after an intervening else.
2022-06-25 13:05:53 -07:00
2021-01-21 19:46:16 +00:00
2022-03-09 16:16:54 +01:00
2022-02-20 17:54:26 -08:00
2022-03-09 16:19:46 +01:00
2021-05-28 02:38:26 +03:00
2022-02-20 17:54:26 -08:00

Boost.Wave

Branch Appveyor (MSVC) GitHub Actions (gcc, clang)
Master AppVeyor GitHub Actions
Develop AppVeyor GitHub Actions

The Wave C++ preprocessor library is a Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind a simple to use interface, which integrates well with the well known idioms of the Standard Template Library (STL).

Description
Mirrored via gitea-mirror
Readme 24 MiB
Languages
C++ 99.7%
HTML 0.2%