Marshall Clow
1dc69adf1d
Remove use of non-existent Boost.Config macro BOOST_NO_CXX11_HDR_MEMORY
...
Thanks to Jeff Trull for the catch.
2020-09-10 20:12:16 -07:00
Jeff Trull
465fe2291f
Merge pull request #109 from jefftrull/feature/cpp20-tokens
...
Introduce C++20 tokens
2020-08-16 11:55:39 -07:00
Jeff Trull
7c92c31c61
Merge pull request #106 from jefftrull/bugfix/tricky-line-file
...
Track the location tokens were expanded from, for __LINE__ and __FILE__
2020-08-16 11:54:29 -07:00
Jeff Trull
200f91e71d
Introduce C++20 tokens
2020-08-11 13:17:01 -07:00
Jeff Trull
add63677b0
C++11 tokens should be conditionally compiled
2020-08-10 05:10:07 -07:00
Jeff Trull
35fc5aa381
Add C++11 token support to all lexers
...
Support was already in slex, though it wasn't covered by the token
test. This updates the tests while adding virtually identical code
to lexertl and xlex.
2020-08-10 04:47:04 -07:00
Jeff Trull
ca08e74947
Correct spelling of thread_local keyword
2020-08-10 04:41:49 -07:00
Jeff Trull
9d68ca319a
Track the location tokens were expanded from, for __LINE__ and __FILE__
...
An (optional) extra position field is added to token_data and set for
any identifier token created from a macro expansion. This information
is used to correctly calculate the filename and line number.
2020-07-20 20:51:14 -07: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
81397434f1
Merge pull request #103 from jefftrull/feature/check-macro-naming
...
Fix macro name check sample on Windows
2020-06-26 23:00:22 -07:00
Jeff Trull
d2610b0584
Try a potential fix for a Windows portability problem
...
filesystem paths in MSVC are based on wchar_t so my 8b regex (and
std::string) were a problem for matching against native paths. Trying
again with the generic std::string interface to see if it works.
2020-06-26 17:57:26 -07:00
Jeff Trull
b6c7d311c4
Merge branch 'develop' into feature/check-macro-naming
2020-06-26 17:29:00 -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
4e6c4fbd2e
Correct various minor typos ( #99 )
2020-06-17 22:36:46 -07:00
Jeff Trull
8504d24bf8
Introduce a new sample that checks macro naming conventions ( #97 )
...
* Introduce a new sample that checks macro naming conventions
This has a direct use in Boost's own QA checks and demonstrates
the use of macro definition and include guard callbacks, as well
as Boost.Filesystem.
2020-06-15 13:22:21 -07:00
Jeff Trull
320932ef80
Merge pull request #98 from jefftrull/bugfix/include-guard-names
...
Rename include guard macros that don't begin with BOOST_
2020-06-15 13:21:36 -07:00
Jeff Trull
5464ade488
Fix double right angle brackets for older compilers
2020-06-15 11:00:20 -07:00
Jeff Trull
6fd0da8780
Rename include guard macros that don't begin with BOOST_
2020-06-15 10:52:30 -07:00
Jeff Trull
f634b83801
Introduce a new sample that checks macro naming conventions
...
This has a direct use in Boost's own QA checks and demonstrates
the use of macro definition and include guard callbacks, as well
as Boost.Filesystem.
2020-06-15 09:45:02 -07:00
Jeff Trull
91d653e1c5
Merge pull request #93 from glenfe/develop
...
Simplify allocator use via core/allocator_access
2020-05-26 11:09:52 -07:00
Glen Fernandes
5cd3f92597
Simplify allocator use via core/allocator_access
2020-05-26 09:15:34 -04:00
Jeff Trull
c8028c992f
Remove unused headers ( #92 )
...
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 11:21:09 -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
Andrey Semashev
2970a40ac4
Remove use of deprecated header boost/detail/iterator.hpp. ( #91 )
...
Remove deprecated boost header and use std::iterator_traits instead
2020-05-12 08:28:52 -07:00
Jeff Trull
2e8eeeeb4d
Add BOOST_OVERRIDE to virtual functions in derived classes ( #89 )
2020-04-13 21:12:34 -07:00
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
Jeff Trull
016638e6ae
Fix more allocator traits ( #85 )
...
Finish the process of replacing allocator member types with allocator traits using an approach suggested by @glenfe.
2020-04-10 08:23:10 -07:00
Jeff Trull
e95a01453c
Add error checks for a few issues identified by re2c ( #82 )
...
- "undefined" input sequences that should in theory never happen
- control characters in C++11 character and string literals
2020-03-18 21:21:59 -07:00
Jeff Trull
b68940a83b
Disallow mixed-case long long integer literals ( #80 )
...
- Update all four lexers to allow ll/LL but not lL/Ll
- Add unit tests for checking
- Remove invalid token from test
2020-03-15 22:54:01 -07:00
Jeff Trull
849da9fb6a
Remove linking to newly header-only date_time ( #81 )
...
Boost develop branch has an updated date_time that is header-only so
Wave's builds will now fail unless this dependency is removed.
2020-03-15 17:37:19 -07:00
Jeff Trull
750e0cb68c
Repair lexertl lexer and add to test suite ( #78 )
...
- Update DFA index code to reflect newer Spirit versions
- Update corresponding static lexer, adding explanatory comments
- Incorporate lexertl into test framework
2020-03-13 12:24:49 -07:00
Jeff Trull
940071ed55
Repair xlex and add to test suite ( #79 )
...
* Pass tests by matching lexertl blank handling
* Remedial improvement to position tracking to avoid exception
* Fix token statistics sample's count map index calculation
* Add xlex to test suite
Also, prune includes somewhat.
2020-03-12 22:37:46 -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
Jeff Trull
785dfd0eee
Merge pull request #72 from stac47/fix_cxx20_compilation
...
Fix compilation issue caused by std::allocator member removal in C++20
2020-02-19 09:04:36 -08:00
Laurent Stacul
861d4f35bb
Fix compilation issue caused by std::allocator member removal in C++20
2020-02-19 16:15:51 +00:00
Hartmut Kaiser
963d4bb420
Merge pull request #70 from jefftrull/feature/update-changelog-1.73
...
This summarizes the changes presently in develop that I hope can be
2020-02-16 18:17:12 -06:00
Jeff Trull
57601e5e04
Merge pull request #69 from jefftrull/bugfix/improve-traceto-docs
...
Add a note to invocation page explaining about trace(enable)
2020-02-16 15:56:51 -08:00
Jeff Trull
b9354fd052
Update doc/wave_driver.html per @hkaiser suggestion
...
Co-Authored-By: Hartmut Kaiser <hartmut.kaiser@gmail.com >
2020-02-16 15:55:39 -08:00
Jeff Trull
f532bac10b
Proposed ChangeLog for 1.73 release
2020-02-16 15:44:19 -08:00
Jeff Trull
85fffbd53c
Add a note to invocation page explaining about trace(enable)
2020-02-16 15:17:44 -08:00
Hartmut Kaiser
40945efd71
Merge pull request #68 from jefftrull/bugfix/waveidl-lexer
...
Restore waveidl sample to working condition
2020-02-12 08:59:45 -06:00
Hartmut Kaiser
e1a639470a
Merge pull request #67 from jefftrull/bugfix/include-next
...
Fix the problem where disabling `include_next` support breaks regular `include`.
2020-02-12 07:56:56 -06:00
Jeff Trull
fd9c53001c
Restore waveidl sample to working condition
...
- use the idllexer generator instead of the cpp one
- eliminate a double free encountered during fix
2020-02-11 22:10:29 -08:00
Jeff Trull
46c348fd4b
Merge branch 'develop' into bugfix/include-next
2020-02-11 13:15:41 -08:00
Hartmut Kaiser
51d2500c5b
Merge pull request #66 from jefftrull/feature/ci-improvements
...
Ensure wave driver and sample programs build in CI, fixing issues turned up during the process.
2020-02-11 13:06:58 -06:00
Jeff Trull
592c55a2ab
Incorporate samples and wave driver into CI system
...
Also:
- fix a few minor issues that were revealed by the process
- add build status badge in minimal README
2020-02-10 21:20:37 -08:00
Hartmut Kaiser
18f834ac35
Merge pull request #65 from jefftrull/bugfix/cpp03-syntax
...
Remove alias for T_UNKNOWN and just use boost::wave::T_UNKNOWN
2020-02-10 16:57:07 -06:00
Jeff Trull
df4bff9b03
Fix invalid C++03 syntax
...
Some bozo broke this last year.
(It was me)
2020-02-10 12:03:07 -08:00