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