2
0
mirror of https://github.com/boostorg/wave.git synced 2026-01-19 04:42:16 +00:00

257 Commits

Author SHA1 Message Date
Jeff Trull
d4c15cf3d8 Update ChangeLog for 1.87 release (#229) 2024-10-30 21:47:47 -07:00
Jeff Trull
3819adaea3 Update ChangeLog for 1.86 2024-06-25 22:02:08 -07:00
Jeff Trull
8f22cdccb5 Update ChangeLog for 1.85 (#208) 2024-03-31 19:44:44 -07:00
Jeff Trull
7f3b3e4ab4 Update Changelog for 1.84 to reflect one fixed bug 2023-10-25 15:38:12 -07:00
Jeff Trull
ca7047adc8 update changelog for release 2023-03-29 15:22:55 -07:00
Jeff Trull
d590edd52e Update ChangeLog for 1.81 2022-11-08 18:20:45 -08:00
Jeff Trull
68b8e26625 Fix line directives after endif following else (#170)
* 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 07:09:56 -07:00
Jeff Trull
9a396fff2f Update ChangeLog for 1.80 (#168) 2022-06-23 00:25:06 -07:00
Jeff Trull
d5b083cd97 Update ChangeLog for 1.79 bugfixes 2022-02-21 11:42:27 -08:00
Jeff Trull
40e19ac798 Specify C++11 requirement in top-level Jamfile
Removing C++03 from Wave's CI config isn't enough - the top-level Boost
build will try to build Wave under unsupported standards/compiler versions
without an explicit requirement.

Remove some ugly excess whitespace from the ChangeLog while I'm here.
2021-12-09 10:39:32 -08:00
Jeff Trull
8bc982ba17 Update C++03 removal to 1.79, as window has passed 2021-11-03 22:02:26 -07:00
Jeff Trull
87459418b8 Remove support for C++03 and prior compilers
This removes only support for C++98/03 as a compiler for this library.
Wave continues to support C++98 and C++03 constructs as a preprocessor.
2021-11-03 16:05:59 -07:00
Jeff Trull
e214a6bbda Update ChangeLog for 1.75 2020-11-17 09:32:49 -08:00
Jeff Trull
8536634396 Deprecate C++03 and re-deprecate the old preprocessor hooks (#104)
Targeting a one year transition period for C++03 -> C++11 and one release less to finally get off the old hooks - assuming there are even any users of them.

Also added documentation per @pdimov recommendations at https://pdimov.github.io/articles/phasing_out_cxx03.html#_suggested_policy
2020-06-30 12:24:00 -07:00
Jeff Trull
ee0a7c14c5 Implement __has_include() (#102)
Resolve #96 by introducing C++17 feature (and frequent vendor extension) __has_include(), along with appropriate unit tests and documentation updates
2020-06-27 07:22:52 -07:00
Jeff Trull
bacb94f394 Log initial set of changes for 1.74 (#100)
Also clean up some typos found automatically
2020-06-23 10:10:54 -07:00
Jeff Trull
ec0c8c8603 Implement C++20 features (#75)
* Introduce support for C++20 preprocessor features

- add __VA_OPT__ feature to variadic macros
- allow supplying 0 variadic arguments in more cases
- add related unit tests
2020-03-06 11:48:50 -08:00
Jeff Trull
f532bac10b Proposed ChangeLog for 1.73 release 2020-02-16 15:44:19 -08:00
Jeff Trull
e941cb5806 Allow lexer input iterators to be Forward or better
This change is implemented primarily by templating the Scanner class
on the lexer IteratorT and using that type for three scanner data
members.  In addition we make use of std::distance/std::advance where
possible so we don't lose performance on RandomAccess inputs.
2017-11-22 09:04:02 -08:00
Lauri Nurmi
2d86dbe53a Fix spelling of "occurr*". 2015-04-03 18:42:08 +03:00
Hartmut Kaiser
34b49bb67d Fixed #9098: Wave driver option --c++0x invalid
[SVN r85640]
2013-09-10 12:20:48 +00:00
Hartmut Kaiser
7dcb53aa80 Wave: fixed #8848: Wave driver improperly processes 0xFFFFui64 token
[SVN r85077]
2013-07-19 01:49:48 +00:00
Hartmut Kaiser
8224ab9eaf Fixed #8478: Make Boost.wave compatible with Clang's -Wimplicit-fallthrough diagnostic.
[SVN r84012]
2013-04-22 17:01:51 +00:00
Hartmut Kaiser
d589a86c19 Wave: Fixed a problem with context<>::add_macro_definition which sometimes appended a superfluous T_EOF to the macro replacement list.
[SVN r81273]
2012-11-10 01:20:19 +00:00
Hartmut Kaiser
0f064c7faf Wave: fixing a couple of warnings
[SVN r80761]
2012-09-29 20:13:28 +00:00
Hartmut Kaiser
e8fe9b3045 Wave: Changed the effect of the -N command line option to simply not expand the macro by pretending it was not defined. Earlier the whole invocation sequence was skipped, now we skip only the macro itself, which still expands the arguments for the macro invocation.
[SVN r79796]
2012-07-29 13:40:39 +00:00
Hartmut Kaiser
82aee622a6 Wave:
- Added util::create_directories() wrapper to account for new behavior of  boost::filesystem::create_directories().
- Added a new command line option --license=<file> to the Wave driver tool which allows to pre-pend the content of a (license) file to every newly created file. This option simplifies the implementation of partial preprocessing as done on Phoenix, Fusion, etc.

[SVN r79786]
2012-07-28 14:16:37 +00:00
Hartmut Kaiser
f441ea8aed Wave: Changed --c++0x command line option to --c++11.
[SVN r79685]
2012-07-22 23:12:11 +00:00
Hartmut Kaiser
56f4a8e7d2 Fixed #7159: Text-lines are processed as if they were preprocessing directives
[SVN r79684]
2012-07-22 23:08:25 +00:00
Hartmut Kaiser
8c0ac66f86 Wave: fixed #7050: Invalid memory write bug in lexing_exception
[SVN r79175]
2012-06-29 18:55:07 +00:00
Hartmut Kaiser
e5ac1ca3b3 Wave: updating copyrights, minor fixes, bumping version number for release
[SVN r78555]
2012-05-23 14:41:35 +00:00
Hartmut Kaiser
860d0920cc Wave: fixed #5887: flex_string.hpp needs to include <ios>
[SVN r74338]
2011-09-10 22:23:19 +00:00
Hartmut Kaiser
aa24ef4c98 Wave: adding support_option_emit_contnewlines for the SLex lexer only.
[SVN r73589]
2011-08-07 01:27:31 +00:00
Hartmut Kaiser
1e0208fbb4 Wave: fixed #5569: slex CONTLINE token works only for LF line endings
[SVN r72197]
2011-05-26 22:22:52 +00:00
Hartmut Kaiser
e1d1f933eb Wave: allowing to force interpretation of wchar_t as signed/unsigned, fixed a problem in #pragma option_str(output)
[SVN r72162]
2011-05-25 18:32:51 +00:00
Hartmut Kaiser
1666aa4c96 Wave: updating changelog
[SVN r72063]
2011-05-21 20:27:27 +00:00
Hartmut Kaiser
3cd74d9e3e Wave: bumped version number (V2.3), fixed a problem in interactive mode of Wave driver
[SVN r71833]
2011-05-08 18:34:58 +00:00
Hartmut Kaiser
040c4d33d6 Wave: added new command line option --noexpand/-N
[SVN r71779]
2011-05-07 15:13:45 +00:00
Hartmut Kaiser
ce9a8d1a94 Wave: Added new pp hook: locate_include_file
[SVN r71097]
2011-04-08 00:06:46 +00:00
Hartmut Kaiser
5cd2912a6f Wave: Fixed whitespace handling, added a corresponding set of test cases
[SVN r69196]
2011-02-23 01:31:14 +00:00
Hartmut Kaiser
ab2fdf61e7 Wave: After preprocessing the body of any #pragma wave option() the wave tool now concatenates all adjacent string literals into a single string literal.
[SVN r68146]
2011-01-14 03:35:24 +00:00
Hartmut Kaiser
feb1e9ccdb Wave: updated copyrights, added C++0x mode to docs, added predefined macros for C++0x mode
[SVN r67894]
2011-01-09 22:19:16 +00:00
Hartmut Kaiser
12c91c34c1 Wave: updated copyrights, worked on whitespace skipping
[SVN r67893]
2011-01-09 21:54:54 +00:00
Hartmut Kaiser
55752997a3 Wave: more work on C++0x support, fixed a macro expansion problem
[SVN r67117]
2010-12-09 01:44:51 +00:00
Hartmut Kaiser
dc832745b7 Wave: fixing Wave for Boost Filesystem V3, which is now the default, changed build system for Wave tool to disable threading
[SVN r67093]
2010-12-08 01:29:47 +00:00
Hartmut Kaiser
56090535d3 Wave: adjusting code to pass new assert inspect rule
[SVN r66505]
2010-11-12 00:50:46 +00:00
Hartmut Kaiser
cf803c371c Wave: updating ChangeLog
[SVN r66139]
2010-10-21 21:48:47 +00:00
Hartmut Kaiser
4e101d02d8 Wave: fixing pp hook problems
[SVN r65967]
2010-10-14 22:13:08 +00:00
Hartmut Kaiser
eb2d0881aa Wave: improved consistency in reporting skipped tokens to the hooks function when processing conditional preprocessing directives. Added a new test case verifying the skipped_token hook gets called reproducibly (t_2_020.cpp). Started to work on C++0x features for Wave.
[SVN r65314]
2010-09-05 22:33:20 +00:00
Hartmut Kaiser
54bf85b63d Wave: minor edits
[SVN r62727]
2010-06-10 11:36:09 +00:00