Skip to content

Commit 032c558

Browse files
Andreas Buhrandreasbuhr
authored andcommitted
Add define BOOST_PARSER_DISABLE_TRACE to disable trace mode at compile time.
The trace feature doubles the compile time, even if never used. This patch introduces the preprocessor define BOOST_PARSER_DISABLE_TRACE to deactivate this feature at compile time.
1 parent 647cec6 commit 032c558

File tree

1 file changed

+60
-12
lines changed

1 file changed

+60
-12
lines changed

include/boost/parser/parser.hpp

Lines changed: 60 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9033,10 +9033,14 @@ namespace boost { namespace parser {
90339033
"If you're seeing this error, you're trying to get parse() to "
90349034
"fill in attr above, using the attribute generated by parser. "
90359035
"However, parser does not generate an attribute.");
9036+
#ifndef BOOST_PARSER_DISABLE_TRACE
90369037
if (trace_mode == trace::on) {
90379038
return reset = detail::parse_impl<true>(
90389039
first, last, parser, parser.error_handler_, attr);
9039-
} else {
9040+
}
9041+
else
9042+
#endif
9043+
{
90409044
return reset = detail::parse_impl<false>(
90419045
first, last, parser, parser.error_handler_, attr);
90429046
}
@@ -9051,10 +9055,14 @@ namespace boost { namespace parser {
90519055
"If you're seeing this error, you're trying to get parse() to "
90529056
"fill in attr above, using the attribute generated by parser. "
90539057
"However, parser does not generate an attribute.");
9058+
#ifndef BOOST_PARSER_DISABLE_TRACE
90549059
if (trace_mode == trace::on) {
90559060
return reset = detail::parse_impl<true>(
90569061
f, l, parser, parser.error_handler_, attr);
9057-
} else {
9062+
}
9063+
else
9064+
#endif
9065+
{
90589066
return reset = detail::parse_impl<false>(
90599067
f, l, parser, parser.error_handler_, attr);
90609068
}
@@ -9155,10 +9163,14 @@ namespace boost { namespace parser {
91559163
trace trace_mode = trace::off)
91569164
{
91579165
if constexpr (!detail::is_char8_iter_v<I>) {
9166+
#ifndef BOOST_PARSER_DISABLE_TRACE
91589167
if (trace_mode == trace::on) {
91599168
return detail::parse_impl<true>(
91609169
first, last, parser, parser.error_handler_);
9161-
} else {
9170+
}
9171+
else
9172+
#endif
9173+
{
91629174
return detail::parse_impl<false>(
91639175
first, last, parser, parser.error_handler_);
91649176
}
@@ -9168,10 +9180,14 @@ namespace boost { namespace parser {
91689180
auto f = r.begin();
91699181
auto const l = r.end();
91709182
auto _ = detail::scoped_base_assign(first, f);
9183+
#ifndef BOOST_PARSER_DISABLE_TRACE
91719184
if (trace_mode == trace::on) {
91729185
return detail::parse_impl<true>(
91739186
f, l, parser, parser.error_handler_);
9174-
} else {
9187+
}
9188+
else
9189+
#endif
9190+
{
91759191
return detail::parse_impl<false>(
91769192
f, l, parser, parser.error_handler_);
91779193
}
@@ -9274,6 +9290,7 @@ namespace boost { namespace parser {
92749290
"If you're seeing this error, you're trying to get parse() to "
92759291
"fill in attr above, using the attribute generated by parser. "
92769292
"However, parser does not generate an attribute.");
9293+
#ifndef BOOST_PARSER_DISABLE_TRACE
92779294
if (trace_mode == trace::on) {
92789295
return reset = detail::skip_parse_impl<true>(
92799296
first,
@@ -9282,7 +9299,10 @@ namespace boost { namespace parser {
92829299
skip,
92839300
parser.error_handler_,
92849301
attr);
9285-
} else {
9302+
}
9303+
else
9304+
#endif
9305+
{
92869306
return reset = detail::skip_parse_impl<false>(
92879307
first,
92889308
last,
@@ -9302,10 +9322,14 @@ namespace boost { namespace parser {
93029322
"If you're seeing this error, you're trying to get parse() to "
93039323
"fill in attr above, using the attribute generated by parser. "
93049324
"However, parser does not generate an attribute.");
9325+
#ifndef BOOST_PARSER_DISABLE_TRACE
93059326
if (trace_mode == trace::on) {
93069327
return reset = detail::skip_parse_impl<true>(
93079328
f, l, parser, skip, parser.error_handler_, attr);
9308-
} else {
9329+
}
9330+
else
9331+
#endif
9332+
{
93099333
return reset = detail::skip_parse_impl<false>(
93109334
f, l, parser, skip, parser.error_handler_, attr);
93119335
}
@@ -9407,10 +9431,14 @@ namespace boost { namespace parser {
94079431
trace trace_mode = trace::off)
94089432
{
94099433
if constexpr (!detail::is_char8_iter_v<I>) {
9434+
#ifndef BOOST_PARSER_DISABLE_TRACE
94109435
if (trace_mode == trace::on) {
94119436
return detail::skip_parse_impl<true>(
94129437
first, last, parser, skip, parser.error_handler_);
9413-
} else {
9438+
}
9439+
else
9440+
#endif
9441+
{
94149442
return detail::skip_parse_impl<false>(
94159443
first, last, parser, skip, parser.error_handler_);
94169444
}
@@ -9420,10 +9448,14 @@ namespace boost { namespace parser {
94209448
auto f = r.begin();
94219449
auto const l = r.end();
94229450
auto _ = detail::scoped_base_assign(first, f);
9451+
#ifndef BOOST_PARSER_DISABLE_TRACE
94239452
if (trace_mode == trace::on) {
94249453
return detail::skip_parse_impl<true>(
94259454
f, l, parser, skip, parser.error_handler_);
9426-
} else {
9455+
}
9456+
else
9457+
#endif
9458+
{
94279459
return detail::skip_parse_impl<false>(
94289460
f, l, parser, skip, parser.error_handler_);
94299461
}
@@ -9524,10 +9556,14 @@ namespace boost { namespace parser {
95249556
trace trace_mode = trace::off)
95259557
{
95269558
if constexpr (!detail::is_char8_iter_v<I>) {
9559+
#ifndef BOOST_PARSER_DISABLE_TRACE
95279560
if (trace_mode == trace::on) {
95289561
return detail::callback_parse_impl<true>(
95299562
first, last, parser, parser.error_handler_, callbacks);
9530-
} else {
9563+
}
9564+
else
9565+
#endif
9566+
{
95319567
return detail::callback_parse_impl<false>(
95329568
first, last, parser, parser.error_handler_, callbacks);
95339569
}
@@ -9537,10 +9573,14 @@ namespace boost { namespace parser {
95379573
auto f = r.begin();
95389574
auto const l = r.end();
95399575
auto _ = detail::scoped_base_assign(first, f);
9576+
#ifndef BOOST_PARSER_DISABLE_TRACE
95409577
if (trace_mode == trace::on) {
95419578
return detail::callback_parse_impl<true>(
95429579
f, l, parser, parser.error_handler_, callbacks);
9543-
} else {
9580+
}
9581+
else
9582+
#endif
9583+
{
95449584
return detail::callback_parse_impl<false>(
95459585
f, l, parser, parser.error_handler_, callbacks);
95469586
}
@@ -9649,6 +9689,7 @@ namespace boost { namespace parser {
96499689
trace trace_mode = trace::off)
96509690
{
96519691
if constexpr (!detail::is_char8_iter_v<I>) {
9692+
#ifndef BOOST_PARSER_DISABLE_TRACE
96529693
if (trace_mode == trace::on) {
96539694
return detail::callback_skip_parse_impl<true>(
96549695
first,
@@ -9657,7 +9698,10 @@ namespace boost { namespace parser {
96579698
skip,
96589699
parser.error_handler_,
96599700
callbacks);
9660-
} else {
9701+
}
9702+
else
9703+
#endif
9704+
{
96619705
return detail::callback_skip_parse_impl<false>(
96629706
first,
96639707
last,
@@ -9672,10 +9716,14 @@ namespace boost { namespace parser {
96729716
auto f = r.begin();
96739717
auto const l = r.end();
96749718
auto _ = detail::scoped_base_assign(first, f);
9719+
#ifndef BOOST_PARSER_DISABLE_TRACE
96759720
if (trace_mode == trace::on) {
96769721
return detail::callback_skip_parse_impl<true>(
96779722
f, l, parser, skip, parser.error_handler_, callbacks);
9678-
} else {
9723+
}
9724+
else
9725+
#endif
9726+
{
96799727
return detail::callback_skip_parse_impl<false>(
96809728
f, l, parser, skip, parser.error_handler_, callbacks);
96819729
}

0 commit comments

Comments
 (0)