Commit Graph

2382 Commits

Author SHA1 Message Date
Nikita Kniazev
10d027fd5c X3: Fix parse_rule definition check
Regressed in #457
2019-10-18 21:43:06 +03:00
Andrey Semashev
3a7bf08d7f Add missing includes of assert.hpp.
This fixes a regression introduced by 5a217a5e03.
2019-10-14 10:20:22 +03:00
djowel
53d4bca0b1 Bring back https://github.com/boostorg/spirit/pull/536 2019-10-13 08:58:07 +08:00
djowel
f10cf8a80f Fix for https://github.com/boostorg/spirit/pull/543 + test 2019-10-12 11:24:21 +08:00
djowel
5a217a5e03 Bring back the asserts, but do it properly this time. 2019-10-12 11:20:33 +08:00
Nikita Kniazev
7771d20cc7 Fix MSVC C4127 warnings 2019-09-30 01:29:29 +03:00
Nikita Kniazev
f34e5a0dd5 X3: Removed bool->char->bool conversion
MSVC barfs on implicit conversion to `bool` here, and it is indeed suspicious.
I have no idea why `in_set` return type is a char type, the method name itself
suggests that it returns boolean value. The only used template parameter type
seems to be `basic_set` and its `test` method returns `bool`. The usages of
`in_set` method also seem to expect a boolean value from it.
2019-09-21 00:22:31 +03:00
stefan301
ecfe4b52f8
Update escape_char.ipp 2019-09-14 19:19:48 +02:00
Joel de Guzman
1fc5359fd9
Merge pull request #534 from duzy/master
Add handling with `optional<Source>` for `boost::spirit::x3::traits::…
2019-09-11 14:48:57 +08:00
Duzy Chan
7207225dbe Add handling with optional<Source> for boost::spirit::x3::traits::move_to,
so that optional ast node will work. See also test/x3/optional_ast_node.cpp for
the case.

Addressed at https://github.com/boostorg/spirit/issues/533
2019-09-11 11:32:30 +08:00
djowel
16159fb335 add invalid ascii tests + fix 2019-08-26 10:24:20 +08:00
djowel
dd2731ffa1 Remove checks for char size; the char parsers should allow different char sizes. 2019-08-26 08:19:59 +08:00
djowel
a27e00cad9 Remove asserts. The parser should fail, not assert. 2019-08-26 08:17:21 +08:00
LeonineKing1199
6c1592f90e Fix bug in boolean logic 2019-08-25 11:14:43 -07:00
sehe
9d30d97b66 Fix for #520 any_char accepts outside encoding
The following assert fails:

    int main() {
        namespace x3 = boost::spirit::x3;

        char const* input = "\x80";
        assert(!x3::parse(input, input+1, x3::ascii::char_));
    }

The assert should pass because char_encoding::ascii::test disallows
non-7bit ASCII, so "\x80" is outside the encoding.

The corresponding Qi test case DOES pass:

    int main() {
        namespace qi = boost::spirit::qi;

        char const* input = "\x80";
        assert(!qi::parse(input, input+1, qi::ascii::char_));
    }

This simple fix requires the encoding's `ischar` to return true always,
making the behavior as specified and consistent with Qi and docs.
2019-07-07 16:53:46 +02:00
djowel
885d3ac013 Test for https://github.com/boostorg/spirit/issues/511, removing static_assert 2019-07-02 20:41:11 +08:00
Andrey Semashev
5eaeda9977 Ported to Boost.Core typeinfo.hpp to avoid deprecated warnings. 2019-05-25 18:47:03 +03:00
djowel
ded2c2127c More fixes and tests for https://github.com/boostorg/spirit/issues/509 2019-05-16 09:15:46 +08:00
djowel
fc331f5a4d Fix for https://github.com/boostorg/spirit/issues/509 2019-05-15 22:33:36 +08:00
Joel de Guzman
2f9de2690d Proper MSVC warning/error fix. 2019-05-09 08:41:33 +08:00
djowel
8724e4f941 Fix for MSVC warning. Good MSVC catches such things. 2019-05-09 07:32:43 +08:00
Nikita Kniazev
610a4dc0b9
Re-private mistakenly unprivated things in #489 2019-05-08 20:23:05 +03:00
djowel
d407f9a26c - Added Real Policy versioning
- Correct backward-compatible handling of excess digits
- Fixes https://github.com/boostorg/spirit/issues/506
2019-05-07 12:30:50 +08:00
djowel
90d03d9ae9 Fix for https://github.com/boostorg/spirit/issues/505 2019-05-07 08:09:16 +08:00
Joel de Guzman
ca83f9cfca
Merge pull request #507 from Kojoley/simplify-string-traits
X3: Simplify string_traits
2019-05-07 07:41:43 +08:00
Nikita Kniazev
a5606ea4d9 X3: Removed need in char_type_of trait 2019-05-06 20:27:07 +03:00
Nikita Kniazev
0db8bb6916 X3: Removed unused is_char and is_string traits 2019-05-06 20:27:06 +03:00
djowel
5a001edc45 Added long_double parser 2019-05-04 17:47:31 +08:00
djowel
793c070d1f Take advantage of constexpr. No more big hard coded table. 2019-05-04 17:47:31 +08:00
djowel
6b6f677205 cosmetic tweaks 2019-05-04 17:47:31 +08:00
Nikita Kniazev
5045fe6b53
utree: Missing cstring include. Fixes #502 2019-05-01 20:22:54 +03:00
djowel
8d5429ad7b Fixes https://github.com/boostorg/spirit/issues/498 2019-04-26 10:59:48 +08:00
djowel
d93e2c143c Lit suport for 32-bit unicode code points 2019-04-25 20:50:02 +08:00
djowel
949fe02a1f Working fix for https://svn.boost.org/trac10/ticket/11608
Added similar tests to x3
2019-04-25 19:40:40 +08:00
djowel
be7640bd69 Fix for https://github.com/boostorg/spirit/issues/421
WIP: https://svn.boost.org/trac10/ticket/11608
2019-04-25 18:12:45 +08:00
djowel
8a236c4bdf Correct fix for negative exponents; should probably port Qi's compensate_roundoff as well, but we'll do that next time. 2019-04-24 16:00:15 +08:00
djowel
def07a9956 Fix for https://github.com/boostorg/spirit/issues/495 2019-04-24 09:13:25 +08:00
Nikita Kniazev
580761b331 Removed extra semicolon 2019-04-20 17:49:21 +03:00
Nikita Kniazev
f38019094d Unpublish x3/support/utility/testing.hpp
By most part reverts a3d667002f. The header is
undertested, used only in that single example, and has extra dependencies.
2019-04-19 22:04:32 +03:00
Nikita Kniazev
8e385e9d85 Lex: Removed variadic tokenize_and_phrase_parse
They were added 10 years ago and did not compile all the time due to bugs
spotted during warning elimination work, but the main reason to remove them
is that there was not a single report about the issues.
2019-04-19 02:53:23 +03:00
Nikita Kniazev
f65d7a8013 unused_type: trivial on C++11+ 2019-04-19 01:45:37 +03:00
Nikita Kniazev
1180d0b958 unused_type: Remove explicit assignment operators 2019-04-17 21:35:27 +03:00
Romain Geissler
295ad6710a Explicitly delete all non implemented assignment operators.
Commit (almost) automatically generated with the following sed command:
sed -i -ne '1h;1!H;${g;s|\n[[:blank:]]*private:\n\([[:blank:]]*\)// silence MSVC warning C4512: assignment operator could not be generated\n\([[:blank:]]*\)\([^\n]\+\);\n|\n\1// silence MSVC warning C4512: assignment operator could not be generated\n\2BOOST_DELETED_FUNCTION(\3);\n|g;p}' $(git ls-files)

Then all files in the x3 subfolder were reverted to HEAD, and manually
updated to use " = delete" instead of BOOST_DELETED_FUNCTION.
2019-04-16 22:35:52 +00:00
Nikita Kniazev
b4b21d1bee Merge master branch into develop [skip ci] 2019-03-29 04:35:27 +03:00
Nikita Kniazev
1f81edb4fc Bump version and update changelog [skip ci] 2019-03-29 04:31:18 +03:00
Nikita Kniazev
1d37471d5b lexertl: Missing member initialization
Fixes a GCC -Wuninitialized warning in lex/regression_syntax_error which is
most likely a false positive https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89733
2019-03-16 00:07:34 +03:00
Nikita Kniazev
9d48b5a231 Do not spoil endian namespace 2019-03-13 18:10:06 +03:00
Nikita Kniazev
5a80befedd
Merge pull request #480 from Kojoley/transform_attribute-disallow-references
transform_attribute: Disallow references as template parameters
2019-03-08 05:07:22 +03:00
Nikita Kniazev
9e648777bf Support: endian: Fixed-width integer detection 2019-03-07 23:05:33 +03:00
Nikita Kniazev
4739e6eabe Support: endian: undef internal macros 2019-03-07 23:05:32 +03:00