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

782 Commits

Author SHA1 Message Date
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