Commit Graph

4777 Commits

Author SHA1 Message Date
Han Wang
361b12eeeb simplify with directive
1. when used as x3::with<ID>(x), where x is an lvalue, we inject an lvalue reference of x to the context.
2. when used as x3::with<ID>(x), where x is a const lvalue, we inject a const lvalue reference of x to the context.
3. when used as x3::with<ID>(x), where x is an rvalue, we move the rvalue to the member of with_directive and inject an lvalue reference of that member to the context.
4. No copy is applied; std::ref is not needed
5. remove unused with_context
2017-08-21 13:48:08 +02:00
Joel de Guzman
16c468c233 Merge branch 'develop' 2017-08-15 03:38:34 +08:00
Joel de Guzman
51b3398111 Merge pull request #238 from hkaiser/develop
Removing use of bind2nd
2017-08-11 17:50:09 +08:00
Hartmut Kaiser
b187f862b6 Removing use of bind2nd 2017-08-11 04:46:16 -05:00
Joel de Guzman
4fc2038a8f Merge branch 'develop' 2017-08-07 11:14:57 +08:00
Joel de Guzman
a476452dbd use boost::swap instead, which does all the namespace stuff. 2017-08-07 11:14:22 +08:00
Joel de Guzman
6892080b91 fix. test files location. 2017-08-07 11:14:22 +08:00
Joel de Guzman
13ebd43b50 Merge pull request #236 from dkolsen-pgi/pgi-compiler-support
Update PGI C++ compiler support
2017-07-27 07:02:25 +08:00
David Olsen
e379a7bff6 Update PGI C++ compiler support
Remove a PGI-specific workaround in the functor constructor.  The workaround was necessary several years ago to get class functor to compiler with PGI, but the workaround now causes compilation errors.
2017-07-26 12:52:45 -07:00
Joel de Guzman
db1f835443 Merge pull request #235 from boostorg/revert-234-develop
Revert "Crash when print attribute in debug mode."
2017-06-19 17:08:04 +08:00
Joel de Guzman
1f513cb401 Revert "Crash when print attribute in debug mode." 2017-06-19 17:07:21 +08:00
Joel de Guzman
2f1161aba6 Merge pull request #234 from glacierx/develop
Crash when print attribute in debug mode.
2017-06-19 17:04:33 +08:00
glacierx
e7962ea67f Update simple_trace.hpp
Crash in debug mode.
2017-06-19 15:42:20 +08:00
glacierx
8c7f9c0711 Update and_predicate.hpp 2017-06-19 15:40:08 +08:00
Joel de Guzman
3f6269d8a8 Merge pull request #232 from sehe/develop
Fix dangling refs in debug of call_rule_defintion`
2017-04-29 09:05:45 +08:00
sehe
ca335f30f4 Fix dangling refs in debug of call_rule_defintion`
There was an issue in `call_rule_definition` where it tries to print the
attribute before transformation (via `context_debug` -> `simple_trace`).

However, it breaks if the made attribute type doesn't match the actual
attribute type. In this case, it makes `context_debug` store a dangling
reference to a temporary converted attribute, leading to Undefined
Behaviour.

See also
https://stackoverflow.com/questions/43679200/boost-spirit-x3-symbol-table-parser-segfaults-when-in-a-separate-compilation-uni/43688320#43688320
2017-04-29 01:07:09 +02:00
Joel de Guzman
abe2a14a7f Merge pull request #231 from bebuch/develop
silence unused parameter warning
2017-02-24 19:10:43 +08:00
Benjamin Buch
cfa7446a87 silence unused parameter warning 2017-02-10 12:27:28 +01:00
Joel de Guzman
fba83b1304 Merge pull request #229 from sehe/develop
std::logic_error - Initialization Order Fiasco
2017-01-22 10:29:57 +08:00
sehe
16320a5566 Check for unitialized rules in parser composition
Unitialized rules can silently be aggregated during parser composition,
because of statics across translation units.

get_info<> has been fixed so it doesn't break. As a QoI measure, it also
added a debug assert to help diagnose the situation.

In unary_parser and binary_parser, this commit allows that debug assert
to run as early as possible (typically during program startup) so that
users will notice the initialization ordering problem.

See http://stackoverflow.com/a/41785268/85371 for the
reproducer/analysis.
2017-01-22 01:00:16 +01:00
sehe
6c1cab48fc Avoid logic_error if rule was unitialized
Unitialized rules can silently be aggregated during parser composition,
because of statics across translation units.

Also add a debug assert diagnosing this situation.

See http://stackoverflow.com/a/41785268/85371 for the
reproducer/analysis.
2017-01-22 00:43:19 +01:00
Joel de Guzman
06b60e38db Merge pull request #227 from Romain-Geissler-1A/fix-unused-local-typedef
Fix warning "typedef 'iterator_t' locally defined but not used" in classic/error_handling/exceptions.hpp
2016-12-06 22:02:59 +08:00
Romain Geissler
1e82fe1ad2 Fix warning "typedef 'iterator_t' locally defined but not used" in classic/error_handling/exceptions.hpp 2016-12-06 11:35:10 +01:00
Joel de Guzman
448ef86dd6 Merge pull request #226 from mike96/patch-1
Fix float parser missing optimization
2016-12-02 15:18:45 +08:00
mike96
e6bd38b615 Add cfloat include to pow10.hpp
Fixes Ticket #12642. The optimized pow10 function would not be used unless cfloat had already been externally included.
2016-12-02 04:13:30 +01:00
Joel de Guzman
a82398fe6f Merge pull request #225 from Romain-Geissler-1A/fix-clang-unused-parameter
Fix clang unused paramter warning.
2016-11-18 08:48:17 +08:00
Romain Geissler
e1ebac8f00 Fix clang unused paramter warning. 2016-11-18 00:22:40 +01:00
Joel de Guzman
054efdbcec Merge pull request #222 from Romain-Geissler-1A/fix-misleading-indentation
Fix gcc's warning/error when building with -Wmisleading-indentation
2016-10-17 05:13:31 +08:00
Romain Geissler
dd47d8be67 Fix gcc's warning/error when building with -Wmisleading-indentation 2016-10-16 22:14:51 +02:00
Rene Rivera
1e2054aab4 Add, and update, documentation build targets. 2016-10-10 11:39:53 -05:00
Joel de Guzman
2fc42d5ff5 Merge pull request #221 from K-ballo/fix-12497
Fix assign_to_attribute_from_iterators for long long types
2016-10-09 06:06:40 +08:00
Agustin K-ballo Berge
7859f979d6 Fix assign_to_attribute_from_iterators for long long types
The terminal tags `boost::spirit::[u]long_long_type` hide the integer types `boost::[u]long_long_types`, qualify the later.
2016-10-08 15:36:17 -03:00
Rene Rivera
acefa0a64f Add, and update, documentation build targets. 2016-10-07 23:07:36 -05:00
Joel de Guzman
192f910c61 Fixes #12468: real_parser failure 2016-09-18 07:49:56 +08:00
Joel de Guzman
77b1492928 Merge pull request #220 from expertisesolutions/develop
Modifications necessary to use boost.spirit x3 in AVR 8-bit CPUs (arduino)
2016-09-16 11:26:29 +08:00
Felipe Magno de Almeida
29dc7ec6ea Added BOOST_SPIRIT_NO_REAL_NUMBERS to not include float parsers
This conditional is used to avoid #include'ing traits on floating
point for platforms without floating point, like AVR 8-bit processors.
2016-09-15 23:13:22 -03:00
Felipe Magno de Almeida
30c1d59d35 Make standard_wide and wchar_t optional for platforms that do not support
Added preprocessor conditionals with name
BOOST_SPIRIT_NO_STANDARD_WIDE which can be defined to not use wchar_t.
2016-09-15 23:11:52 -03:00
Joel de Guzman
9a8cded553 Merge pull request #218 from Kojoley/remove-unused-argc-and-argv-parameters
Tests: Removed unused `argc` and `argv` parameters
2016-08-30 07:46:52 +08:00
Nikita Kniazev
d99cdf5bd2 Tests: Removed unused argc and argv parameters 2016-08-29 19:25:23 +03:00
Joel de Guzman
b6382264c4 Merge pull request #217 from Kojoley/fix-overloaded-shift-op-parentheses-warning
Qi.Tests: utree1: Fixed operator precedence warnings [clang]
2016-08-28 08:22:50 +08:00
Nikita Kniazev
a0f34f8a34 Qi.Tests: utree1: Fixed operator precedence warnings [clang] 2016-08-27 23:32:52 +03:00
Joel de Guzman
4789aec3d9 Merge pull request #215 from Kojoley/fix-multiple-unsued-variable-warnings
Tests: Fixed multiple unused variable warnings
2016-08-26 06:23:44 +08:00
Joel de Guzman
571a928ac6 Merge pull request #216 from Kojoley/fix-bool-increment-warning
Karma.Tests: Fixed bool increment warning
2016-08-26 06:03:58 +08:00
Joel de Guzman
e5a1a06c73 Merge pull request #214 from Kojoley/fix-lex-regression_wide-warnings
Lex.Tests: Fixed multiple warning from `regression_wide` test
2016-08-26 05:51:51 +08:00
Joel de Guzman
f90361d115 Merge pull request #213 from Kojoley/fix-support-utree-test-warnings
Tests: Fix warnings from `support/utree.cpp` test
2016-08-26 05:51:13 +08:00
Joel de Guzman
e88d96a775 Merge pull request #212 from cppljevans/develop
Update rule.hpp
2016-08-26 05:50:22 +08:00
Nikita Kniazev
18324547c6 Karma.Tests: Fixed bool increment warning 2016-08-25 23:29:17 +03:00
Nikita Kniazev
bab7a9f38c Karma.Tests: Fixed unused variables warning from pattern4 test 2016-08-25 22:31:10 +03:00
Nikita Kniazev
20e588242e Lex.Tests: Fixed unused variables warning from tokendedent_handling_phoenix test 2016-08-25 22:31:10 +03:00
Nikita Kniazev
15a0012863 Lex.Tests: Fixed unused variables warnings from token_iterpair test 2016-08-25 22:31:10 +03:00