Commit Graph

4777 Commits

Author SHA1 Message Date
Nikita Kniazev
e07ce69363 Removed unused lexical_cast includes 2018-12-27 19:36:51 +03:00
Nikita Kniazev
f74e895d4f
Doc: Fixed unescaped semicolon warning
Jamfile:53: Unescaped special character in argument <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/spirit/doc/html
2018-12-18 21:09:04 +00:00
Nikita Kniazev
b46ef58159
Doc.Qi: Fixed broken link to no_skip 2018-12-18 20:49:25 +00:00
Nikita Kniazev
e14eaa3057
Merge pull request #427 from Kojoley/qi-rule-skipper-asserts
Qi: rule: Added asserts for mismatching skipper types
2018-12-18 15:48:10 +03:00
Nikita Kniazev
0efdabd424 Qi: rule: Added asserts for mismatching skipper types
It looks like mismatching skipper types and `parse`/`phrase_parse` calls are
quite popular mistakes, and the actual problem is not clear for users despite
that there is a comment near the call that will fail and the hint should be
found by following to the file and line that compiler reports the error on.
2018-12-18 03:07:13 +03:00
Nikita Kniazev
865a6a3de4 X3.Tests: Added variable templates requirement
Also updated the readme, as Clang 3.5 does not support variable templates
(it also has some bogus warnings and broken Fusion map support).
2018-11-26 18:39:01 +03:00
Nikita Kniazev
ca76771cbf
Merge pull request #423 from Kojoley/fix-utree-negative-shift-ub
utree: Fixed negative value shift
2018-11-25 15:36:44 +03:00
Nikita Kniazev
1909d85192
Merge pull request #424 from Kojoley/x3-numeric_utils-use-constexpr
X3: Use constexpr in numeric utils instead of static storage
2018-11-24 17:53:51 +03:00
Nikita Kniazev
a9207c1132 X3: Use constexpr in numeric utils instead of static storage
It is a symmetrical change to Qi one that landed a while ago d8637825 (#146).
There should not be race condition on C++11+, but MSVC still does not do
compile-time initialization of static variables when constructor is constexpr
https://developercommunity.visualstudio.com/content/problem/336946/class-with-constexpr-constructor-not-using-static.html
2018-11-23 17:11:17 +03:00
Nikita Kniazev
eafd573b4d utree: Fixed negative value shift
Result of shifting a negative value is an implementation defined behavior.

The temporaries and memcpy calls will be completely optimized out.
2018-11-23 15:41:06 +03:00
Nikita Kniazev
0bfc4212fe
Merge pull request #422 from Kojoley/classic-fix-position_iterator-returns-reference-to-local
Classic: Fixed position_iterator forming reference to local
2018-11-23 14:33:14 +03:00
Nikita Kniazev
d3e14ccf04 Classic: Fixed position_iterator forming reference to local
When underlying iterator returns by value the corresponding position_iterator
was providing iterator_adaptor with a reference type what lead to returning
a reference to a local variable in dereference operator.

Made a custom trait because it is a way more elegant than:
```cpp
    typedef typename boost::mpl::if_c<
        boost::is_reference<reference>::value,
        typename boost::add_reference<
            typename boost::add_const<
                typename boost::remove_reference<reference>::type
            >::type
        >::type,
        typename boost::add_const<reference>::type
    >::type const_reference_type;
```

Fixes https://svn.boost.org/trac10/ticket/9737.
2018-11-23 03:19:03 +03:00
Nikita Kniazev
304a10ff33
Karma.Tests: real.hpp: Fixed typo in comments
https://svn.boost.org/trac10/ticket/8440
2018-11-22 18:27:58 +03:00
Nikita Kniazev
af4f22de40 Qi.Examples: min_xml: Parsing error message tweak 2018-11-22 15:40:23 +03:00
Nikita Kniazev
b08a6ddbc5 Qi.Examples: min_xml: Fixed past the end iterator increment 2018-11-22 15:39:48 +03:00
Nikita Kniazev
ce7be3a2f9 Qi.Examples: min_xml: Fixed inconsistency with docs
https://svn.boost.org/trac10/ticket/12860
2018-11-22 15:38:08 +03:00
Nikita Kniazev
8e74087d66
Merge pull request #420 from Kojoley/fix-lexer-constructor-ub
Lex: Avoid casting `min_token_id` to `id_type` in lexer ctor
2018-11-21 13:59:40 +03:00
Nikita Kniazev
6810f9ecbd Lex: Avoid casting min_token_id to id_type in lexer ctor
When `min_token_id` is not a valid value for `id_type` and `first_id` is not
provided lexer constructor is triggering UB. To fix this problem, constructor
with ommited `first_id` initializes `next_token_id` directly, so if unique ids
feature is not used there is no UB.
2018-11-20 23:59:45 +03:00
Nikita Kniazev
d59dc0158f Forgot to update version numbers [skip ci] 2018-11-19 19:34:10 +03:00
Nikita Kniazev
cfcfe6d0cd
Merge pull request #418 from Kojoley/simplify-symbols
Simplify symbols
2018-11-19 19:32:51 +03:00
Nikita Kniazev
2a80c25584 Simplify symbols 2018-11-16 19:35:49 +03:00
Nikita Kniazev
b4f5833cc6 Forgot to update version numbers [skip ci] 2018-11-16 17:04:14 +03:00
Nikita Kniazev
35c6a9a1bb
Merge pull request #417 from Romain-Geissler-1A/noexcept
Replace `throw()` with `BOOST_NOEXCEPT_OR_NOTHROW`
2018-11-12 14:38:45 +03:00
Romain Geissler
5e10e84031 Prepare for C++20 and remove "throw()" usage. 2018-11-11 23:14:05 +00:00
Nikita Kniazev
ff6a8e4e13 [1.69] Version bump and changelog update [skip ci] 2018-11-08 18:06:37 +03:00
Nikita Kniazev
4ae7d6ab66
Merge pull request #414 from boostorg/develop
Pre 1.69 merge (second one)
2018-11-01 14:52:55 +03:00
Nikita Kniazev
cf631bf68f
Merge pull request #413 from Kojoley/fix-to_utf8-wchar_t-handling-on-windows
to_utf8: Fixed wchar_t handling on Windows
2018-10-30 14:48:53 +03:00
Nikita Kniazev
3fbde9c195 to_utf8: Fixed wchar_t handling on Windows
Spirit were assuming that wchar_t is 32-bit and the content is UCS-4.
It is wrong, the actual representation is implementation defined [lex.ccon]/6.
However, on most Unix platforms this assumption is valid and gives the
expected outcome, but on Windows wchar_t is 16-bit and the content is UTF-16.
2018-10-28 17:43:05 +03:00
Nikita Kniazev
ac004f8331
Merge pull request #412 from godmar/autorule-doc-enhancement
Qi: Improve documentation for semantic actions in %=
2018-10-26 16:55:44 +03:00
Godmar Back
9774844992 improve documentation for semantic actions in %=
Also see https://github.com/boostorg/spirit/issues/411
2018-10-26 09:21:14 -04:00
Nikita Kniazev
4be6e2d033
Merge pull request #410 from Kojoley/fix-buffer-char-type-on-windows
Karma: Fixed wrong buffer char type on Windows
2018-10-25 13:55:00 +03:00
Nikita Kniazev
4b1b2dfd2d Karma: Fixed wrong buffer char type on Windows
With `BOOST_SPIRIT_UNICODE` defined Clang, MinGW and Cygwin were using `wchar_t`.

I have switched to OS detection with `_WIN32`, it will give the right results for
most compilers except Cygwin.
2018-10-24 16:53:10 +03:00
Nikita Kniazev
ea9c54ab0e
Merge pull request #407 from Kojoley/qi-transform_attribute-adapt_adt-specialization-ambiguity
V2: Fixed transform_attribute ambiguity
2018-10-23 05:10:47 +03:00
Nikita Kniazev
54b1ae80b8
Merge pull request #409 from Kojoley/missing-visibility-mark-on-exception-types
Missing visibility mark on exception types
2018-10-22 04:04:49 +03:00
Nikita Kniazev
5c62f8baf3 V2: Fixed transform_attribute ambiguity
Domain-agnostic class template partial specializations and
type agnostic domain partial specializations are ambious.
To resolve the ambiguity type agnostic domain partial
specializations are dispatched via intermediate type.
2018-10-22 01:19:27 +03:00
Nikita Kniazev
bfbd691c4f Missing visibility mark on exception types
https://gcc.gnu.org/wiki/Visibility#Problems_with_C.2B-.2B-_exceptions_.28please_read.21.29
2018-10-17 22:09:19 +03:00
Nikita Kniazev
b3e7053eb4
Merge pull request #405 from boostorg/develop
Pre 1.69 merge
2018-10-09 13:32:58 +03:00
Nikita Kniazev
bb3c55e860
Classic.Tests: traverse_tests: The right fix for buffer overflow 2018-10-08 14:24:04 +03:00
Nikita Kniazev
d47c84e87d Classic.Tests: ast_calc_tests: Fixed may fall through warnings 2018-10-02 03:14:18 +03:00
Nikita Kniazev
49dd0c8fc1 Fixed boost status check library errors 2018-10-02 03:01:33 +03:00
Nikita Kniazev
393e7a6028
Merge pull request #403 from boostorg/tests-include-less-headers
Tests: Include less headers
2018-10-01 17:36:36 +03:00
Nikita Kniazev
5e4ab36170 Tests: Include less headers 2018-10-01 02:16:04 +03:00
Joel de Guzman
ade886de46 typo fix
[SVN r77225]
2018-09-30 02:08:06 +03:00
Nikita Kniazev
9ff631f0da
Merge pull request #402 from boostorg/workaround-qi_repo_keywords-test-fail-on-msvc-14.1
Workaround qi_repo_keywords test fail on MSVC-14.1
2018-09-30 01:12:51 +03:00
Nikita Kniazev
558fa43c5e Doc: Fixed changed url for ForwardIterator and OutputIterator 2018-09-29 22:41:12 +03:00
Nikita Kniazev
87f8787968 Workaround qi_repo_keywords test fail on MSVC-14.1 2018-09-29 21:45:22 +03:00
Nikita Kniazev
3a21fdab2f
Merge pull request #401 from Kojoley/classic-utility-loops-missing-includes
Classic: utility/loops.hpp: Added missing includes
2018-09-27 21:24:34 +03:00
Nikita Kniazev
6beb81d55c
CI: Install clcache from PyPI 2018-09-27 20:37:34 +03:00
Nikita Kniazev
72c8da1099 Classic: utility/loops.hpp: Added missing includes 2018-09-26 15:41:09 +03:00
Nikita Kniazev
24ab3188d9
Merge pull request #397 from Kojoley/use-endian-macros-from-predef
Use endian macros from Predef
2018-09-26 14:13:40 +03:00