75 Commits

Author SHA1 Message Date
Rac 87ae95cbb2 fix(macromap): correct return value in expand_predefined_macro 2026-05-06 12:28:40 -07:00
Jeff Trull 147b685795 Introduce c++23 feature flag and condition size_t literals with it 2026-05-06 12:28:40 -07:00
Jeff Trull 977b67a1d0 Fix missing (uncalled) exception hooks (#166)
* Check hooks after expected errors, not just when there are none

Some unit tests had intentional errors, and code to verify that the
appropriate hooks were called, but we never checked.

* Update unit tests to match hooks, now that we are checking

* Fix bug revealed by checking the hooks

Or in other words, bug #161 (thanks abakhirkin for the fix)

* Fix link in documentation
2022-06-22 11:22:27 -07:00
Jeff Trull 88369abfd5 Remove long-deprecated hooks API
Removal in 1.76 was noted in the docs and warned about since 1.74.
2020-12-13 15:53:32 -08:00
Jeff Trull f1ec8fd22c Make indentation consistent with code nesting
These changes, a subset of what clang-format generates, ensure code
and comments are aligned properly for the level of the code. There
were a number of places where comments (many) and code (some) were
four spaces to the left of where they should be. This will make the
code easier to read.

One advantage of separating out these changes is they can be verified
to be whitespace-only with a simple diff.
2020-10-23 15:05: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 895ea836e9 Remove unused headers
Reduce build time by:
- using iosfwd instead of iostream, where possible
- where iostream is necessary but only used for debugging,
  making its inclusion conditional
- removing old C-style headers

I used IWYU to guide this work
2020-05-19 10:41:22 -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
Robert Lenhardt 231aad085f add tests for utf-8 paths 2018-10-04 17:40:21 +02:00
Hartmut Kaiser 10110a16b9 Fixing failing test on systems where BOOST_WAVE_SUPPORT_MS_EXTENSIONS is not defined 2017-10-19 16:23:19 -05:00
Abel Sinkovics 4474a5ce8c Add -Werror support 2017-09-16 22:49:22 +02:00
Hartmut Kaiser baf1955439 Allow building testwave without separately instantiating grammars 2017-09-02 13:06:03 -05: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 f441ea8aed Wave: Changed --c++0x command line option to --c++11.
[SVN r79685]
2012-07-22 23:12:11 +00:00
Hartmut Kaiser ed79490930 Wave: Fixed #6838: Adding include file with force_include makes Wave fail to emit #line directive
Added support for test of --forceinclude option to testwave executable, added test case verifying #6838 is fixed.

[SVN r78554]
2012-05-23 14:38:10 +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 582fd3f0ad Wave: fixing some path formatting issues causing test to fail
[SVN r67142]
2010-12-10 02:50:59 +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 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 1d5a9f46cb Wave: fixing regression test failures
[SVN r61381]
2010-04-18 20:29:54 +00:00
Hartmut Kaiser ffa289ff67 Wave: adjusting test files for recent bug fixes
[SVN r60829]
2010-03-25 17:41:29 +00:00
Hartmut Kaiser bbcad7c954 Wave: updating copyrights, fixing issues introduced by latest changes to multi_pass.
[SVN r58714]
2010-01-05 17:29:06 +00:00
Hartmut Kaiser cc2a6ce7e1 Wave: added missing header file and special handling for stlport
[SVN r57396]
2009-11-05 01:36:10 +00:00
Hartmut Kaiser 0d7086e2cf Wave: fixing typos in comments
[SVN r57392]
2009-11-05 00:09:01 +00:00
Hartmut Kaiser fabd1125f0 Wave: got rid of more warnings
[SVN r57387]
2009-11-04 22:57:06 +00:00
Hartmut Kaiser a16005fc4e Wave: fixed race condition
[SVN r53194]
2009-05-23 04:15:22 +00:00
Hartmut Kaiser 4cc8bb6365 Wave: now compiles even with BOOST_FILESYSTEM_NO_DEPRECATED defined
[SVN r51679]
2009-03-10 01:35:54 +00:00
Hartmut Kaiser a8e6b580db Wave: Updated copyrights
[SVN r50425]
2009-01-01 12:07:12 +00:00
Hartmut Kaiser b7ea48db83 Wave: Fixed regressions on non-Windows systems.
[SVN r45071]
2008-05-03 16:16:05 +00:00
Hartmut Kaiser cedfb5313a Wave: Fixing the test application, which caused 2 regressions reported on non-Windows systems
[SVN r45062]
2008-05-03 12:55:45 +00:00
Hartmut Kaiser 6b02159942 Wave: Updated to use new Spirit Classic library structure and namespace. Lots' of minor changes and adjustments. Switched version to 2.0 since this version is not backwards compatible anymore with earlier versions.
[SVN r44381]
2008-04-13 22:39:12 +00:00
Hartmut Kaiser b01e685d23 Wave: Fixed whitespace insertion error, fixed test cases.
[SVN r43646]
2008-03-16 01:39:59 +00:00
Hartmut Kaiser cdb5d64051 Wave: Started to add testing of preprocessor hooks.
[SVN r43540]
2008-03-07 19:51:26 +00:00
Hartmut Kaiser 23bbed3024 Wave: updated copyright messages to include the year 2008 (merged from release branch).
[SVN r42502]
2008-01-05 22:44:28 +00:00
Hartmut Kaiser 3cf132c4d0 Wave: Extended the copyright notice to include the year 2007.
[SVN r36469]
2006-12-20 16:58:16 +00:00
Hartmut Kaiser 9a56d46717 Added the support_option_insert_whitespace language option.
[SVN r36211]
2006-11-30 13:22:39 +00:00
Hartmut Kaiser 6bd6cd8ef7 Wave: Added error handler hook.
[SVN r35630]
2006-10-16 14:39:59 +00:00
Hartmut Kaiser 2df9a37fe5 Pending changes...
[SVN r35278]
2006-09-22 15:34:35 +00:00
Hartmut Kaiser 74f4174791 Pending changes...
[SVN r35212]
2006-09-19 17:13:50 +00:00
Hartmut Kaiser 2536de0389 Wave: improved error handling and some diagnostics, added corresponding tests.
[SVN r35186]
2006-09-18 23:24:30 +00:00
Hartmut Kaiser ed8761fe72 Stripped leading and trailing whitespace for all lines in a config file (Wave driver tool).
[SVN r34389]
2006-06-24 21:47:45 +00:00
Hartmut Kaiser c959794650 Wave V1.2.4
[SVN r33362]
2006-03-17 22:40:02 +00:00
Hartmut Kaiser 5115faf51e Updated the Wave copyright notice to include the year 2006.
[SVN r32154]
2005-12-24 19:50:47 +00:00
Hartmut Kaiser bb62cfffc5 Changed in the Wave library all throw's to boost::throw_exception().
[SVN r31950]
2005-12-08 03:33:38 +00:00
Hartmut Kaiser 5e458d3eee Fixed a CW9.4 issue.
[SVN r31889]
2005-12-03 17:18:50 +00:00
Hartmut Kaiser 58558f08d4 Added dll support to Wave.
[SVN r31729]
2005-11-21 20:27:02 +00:00
Hartmut Kaiser db2f382f90 Fixed Wave test suite to handle correctly the new BOOST_WAVE_USE_STRICT_LEXER mode.
[SVN r31710]
2005-11-20 01:20:46 +00:00