73 Commits

Author SHA1 Message Date
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 d8474c3e2d Handle some previously deprecated, now removed, filesystem code
- convenience.hpp is removed
- no_push and branch_path are removed
2024-01-14 15:06:47 -08: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 ec83deadf7 Use new API of Boost.Timer (#76) 2020-03-06 15:39:36 -08: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 73d3e36637 always use boost filesystem streams to open files 2018-09-28 16:22:34 +02:00
Abel Sinkovics 4474a5ce8c Add -Werror support 2017-09-16 22:49:22 +02: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 e5ac1ca3b3 Wave: updating copyrights, minor fixes, bumping version number for release
[SVN r78555]
2012-05-23 14:41:35 +00:00
Hartmut Kaiser 277d3d79b0 Wave: minor edits
[SVN r72116]
2011-05-23 02:02:40 +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 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 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 2c34ab5d57 Wave: added new preprocessing hook: emit_line_directive, added corresponding functionality to wave driver
[SVN r60819]
2010-03-24 23:38:12 +00:00
Hartmut Kaiser b61ae31acc Wave: updating copyrights, fixing issues introduced by latest changes to multi_pass.
[SVN r58715]
2010-01-05 17:30:27 +00:00
Hartmut Kaiser aa8030e5f1 Wave: added preprocessing hook to detect #pragma once directives or include guards
[SVN r56276]
2009-09-17 17:54:07 +00:00
Hartmut Kaiser 72b796a248 Wave: added --macrocounts/-c command line option to wave driver tool allowing to collect macro invocation counts
[SVN r53586]
2009-06-03 01:06:42 +00:00
Douglas Gregor bb92cf4d47 Add includes needed to build the wave preprocessor executable with a modularized tree
[SVN r52802]
2009-05-06 15:17:51 +00:00
Hartmut Kaiser af4c016496 Wave: Added missing std:: qualifiers
[SVN r52409]
2009-04-15 23:58:49 +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 d63da08b41 Wave: updating copyrights
[SVN r50638]
2009-01-16 18:34:31 +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 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 2faaf7f871 Wave: Fixed predefined macro support to be thread safe.
[SVN r38254]
2007-07-17 15:41:28 +00:00
Hartmut Kaiser c36f1594bf Wave: fixed configuration to correctly take into account thread related settings.
[SVN r38134]
2007-07-03 15:47:51 +00:00
Hartmut Kaiser 5f1903f4b1 Wave: implemented macro introspection iterators.
[SVN r38104]
2007-06-27 01:23:21 +00:00
Hartmut Kaiser 0e9ebd8223 Wave: added handling of #import directives, fixed a problem in the Wave driver.
[SVN r38100]
2007-06-26 19:40:04 +00:00
Hartmut Kaiser d62a8447c0 Wave: fixed --force_include behavior as discussed on the list.
[SVN r37169]
2007-03-11 17:23:44 +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 bab5af06f2 Fixed a problem in the Wave applet during handling of configuration files.
[SVN r36237]
2006-12-02 02:26:40 +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 74f4174791 Pending changes...
[SVN r35212]
2006-09-19 17:13:50 +00:00
Hartmut Kaiser fd49e19ccd Fixed the wave applet not to report an error of a missing #ifdef interactive mode.
[SVN r35209]
2006-09-19 16:27:20 +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 2693461aa0 Improved cfg file handling in the wave driver applet.
[SVN r34949]
2006-08-25 17:37:00 +00:00
Hartmut Kaiser 61758d08ec Wave: Fixed a bug resulting in a crash if a macro was redefined with a shorter expansion list as it was defined initially. Added a corresponding test case.
[SVN r34926]
2006-08-23 01:40:23 +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 56006e45fd Changed 'evaluated_conditional_expression()' pp hook.
[SVN r33962]
2006-05-14 16:41:00 +00:00
Hartmut Kaiser fc74d27d88 Fixed the Wave tool to return the number of errors occured.
[SVN r33910]
2006-05-02 23:07:57 +00:00
Hartmut Kaiser 1c153e7ed5 Fixed Wave compilation errors on gcc.
[SVN r33744]
2006-04-19 14:56:33 +00:00
Hartmut Kaiser 24fe8e51fe Fixed the macro tracing information to contain the column numbers of the macro definitions as well (the format used is the same as for error messages)..
[SVN r33420]
2006-03-21 15:31:42 +00:00
Hartmut Kaiser 01e4a5ff83 Added proper versioning support to the serialization of state.
[SVN r33410]
2006-03-20 18:04:09 +00:00