Skip to content

Commit 7309f68

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 5b3f122 commit 7309f68

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
@@ -9041,10 +9041,14 @@ namespace boost { namespace parser {
90419041
"If you're seeing this error, you're trying to get parse() to "
90429042
"fill in attr above, using the attribute generated by parser. "
90439043
"However, parser does not generate an attribute.");
9044+
#ifndef BOOST_PARSER_DISABLE_TRACE
90449045
if (trace_mode == trace::on) {
90459046
return reset = detail::parse_impl<true>(
90469047
first, last, parser, parser.error_handler_, attr);
9047-
} else {
9048+
}
9049+
else
9050+
#endif
9051+
{
90489052
return reset = detail::parse_impl<false>(
90499053
first, last, parser, parser.error_handler_, attr);
90509054
}
@@ -9059,10 +9063,14 @@ namespace boost { namespace parser {
90599063
"If you're seeing this error, you're trying to get parse() to "
90609064
"fill in attr above, using the attribute generated by parser. "
90619065
"However, parser does not generate an attribute.");
9066+
#ifndef BOOST_PARSER_DISABLE_TRACE
90629067
if (trace_mode == trace::on) {
90639068
return reset = detail::parse_impl<true>(
90649069
f, l, parser, parser.error_handler_, attr);
9065-
} else {
9070+
}
9071+
else
9072+
#endif
9073+
{
90669074
return reset = detail::parse_impl<false>(
90679075
f, l, parser, parser.error_handler_, attr);
90689076
}
@@ -9163,10 +9171,14 @@ namespace boost { namespace parser {
91639171
trace trace_mode = trace::off)
91649172
{
91659173
if constexpr (!detail::is_char8_iter_v<I>) {
9174+
#ifndef BOOST_PARSER_DISABLE_TRACE
91669175
if (trace_mode == trace::on) {
91679176
return detail::parse_impl<true>(
91689177
first, last, parser, parser.error_handler_);
9169-
} else {
9178+
}
9179+
else
9180+
#endif
9181+
{
91709182
return detail::parse_impl<false>(
91719183
first, last, parser, parser.error_handler_);
91729184
}
@@ -9176,10 +9188,14 @@ namespace boost { namespace parser {
91769188
auto f = r.begin();
91779189
auto const l = r.end();
91789190
auto _ = detail::scoped_base_assign(first, f);
9191+
#ifndef BOOST_PARSER_DISABLE_TRACE
91799192
if (trace_mode == trace::on) {
91809193
return detail::parse_impl<true>(
91819194
f, l, parser, parser.error_handler_);
9182-
} else {
9195+
}
9196+
else
9197+
#endif
9198+
{
91839199
return detail::parse_impl<false>(
91849200
f, l, parser, parser.error_handler_);
91859201
}
@@ -9282,6 +9298,7 @@ namespace boost { namespace parser {
92829298
"If you're seeing this error, you're trying to get parse() to "
92839299
"fill in attr above, using the attribute generated by parser. "
92849300
"However, parser does not generate an attribute.");
9301+
#ifndef BOOST_PARSER_DISABLE_TRACE
92859302
if (trace_mode == trace::on) {
92869303
return reset = detail::skip_parse_impl<true>(
92879304
first,
@@ -9290,7 +9307,10 @@ namespace boost { namespace parser {
92909307
skip,
92919308
parser.error_handler_,
92929309
attr);
9293-
} else {
9310+
}
9311+
else
9312+
#endif
9313+
{
92949314
return reset = detail::skip_parse_impl<false>(
92959315
first,
92969316
last,
@@ -9310,10 +9330,14 @@ namespace boost { namespace parser {
93109330
"If you're seeing this error, you're trying to get parse() to "
93119331
"fill in attr above, using the attribute generated by parser. "
93129332
"However, parser does not generate an attribute.");
9333+
#ifndef BOOST_PARSER_DISABLE_TRACE
93139334
if (trace_mode == trace::on) {
93149335
return reset = detail::skip_parse_impl<true>(
93159336
f, l, parser, skip, parser.error_handler_, attr);
9316-
} else {
9337+
}
9338+
else
9339+
#endif
9340+
{
93179341
return reset = detail::skip_parse_impl<false>(
93189342
f, l, parser, skip, parser.error_handler_, attr);
93199343
}
@@ -9415,10 +9439,14 @@ namespace boost { namespace parser {
94159439
trace trace_mode = trace::off)
94169440
{
94179441
if constexpr (!detail::is_char8_iter_v<I>) {
9442+
#ifndef BOOST_PARSER_DISABLE_TRACE
94189443
if (trace_mode == trace::on) {
94199444
return detail::skip_parse_impl<true>(
94209445
first, last, parser, skip, parser.error_handler_);
9421-
} else {
9446+
}
9447+
else
9448+
#endif
9449+
{
94229450
return detail::skip_parse_impl<false>(
94239451
first, last, parser, skip, parser.error_handler_);
94249452
}
@@ -9428,10 +9456,14 @@ namespace boost { namespace parser {
94289456
auto f = r.begin();
94299457
auto const l = r.end();
94309458
auto _ = detail::scoped_base_assign(first, f);
9459+
#ifndef BOOST_PARSER_DISABLE_TRACE
94319460
if (trace_mode == trace::on) {
94329461
return detail::skip_parse_impl<true>(
94339462
f, l, parser, skip, parser.error_handler_);
9434-
} else {
9463+
}
9464+
else
9465+
#endif
9466+
{
94359467
return detail::skip_parse_impl<false>(
94369468
f, l, parser, skip, parser.error_handler_);
94379469
}
@@ -9532,10 +9564,14 @@ namespace boost { namespace parser {
95329564
trace trace_mode = trace::off)
95339565
{
95349566
if constexpr (!detail::is_char8_iter_v<I>) {
9567+
#ifndef BOOST_PARSER_DISABLE_TRACE
95359568
if (trace_mode == trace::on) {
95369569
return detail::callback_parse_impl<true>(
95379570
first, last, parser, parser.error_handler_, callbacks);
9538-
} else {
9571+
}
9572+
else
9573+
#endif
9574+
{
95399575
return detail::callback_parse_impl<false>(
95409576
first, last, parser, parser.error_handler_, callbacks);
95419577
}
@@ -9545,10 +9581,14 @@ namespace boost { namespace parser {
95459581
auto f = r.begin();
95469582
auto const l = r.end();
95479583
auto _ = detail::scoped_base_assign(first, f);
9584+
#ifndef BOOST_PARSER_DISABLE_TRACE
95489585
if (trace_mode == trace::on) {
95499586
return detail::callback_parse_impl<true>(
95509587
f, l, parser, parser.error_handler_, callbacks);
9551-
} else {
9588+
}
9589+
else
9590+
#endif
9591+
{
95529592
return detail::callback_parse_impl<false>(
95539593
f, l, parser, parser.error_handler_, callbacks);
95549594
}
@@ -9657,6 +9697,7 @@ namespace boost { namespace parser {
96579697
trace trace_mode = trace::off)
96589698
{
96599699
if constexpr (!detail::is_char8_iter_v<I>) {
9700+
#ifndef BOOST_PARSER_DISABLE_TRACE
96609701
if (trace_mode == trace::on) {
96619702
return detail::callback_skip_parse_impl<true>(
96629703
first,
@@ -9665,7 +9706,10 @@ namespace boost { namespace parser {
96659706
skip,
96669707
parser.error_handler_,
96679708
callbacks);
9668-
} else {
9709+
}
9710+
else
9711+
#endif
9712+
{
96699713
return detail::callback_skip_parse_impl<false>(
96709714
first,
96719715
last,
@@ -9680,10 +9724,14 @@ namespace boost { namespace parser {
96809724
auto f = r.begin();
96819725
auto const l = r.end();
96829726
auto _ = detail::scoped_base_assign(first, f);
9727+
#ifndef BOOST_PARSER_DISABLE_TRACE
96839728
if (trace_mode == trace::on) {
96849729
return detail::callback_skip_parse_impl<true>(
96859730
f, l, parser, skip, parser.error_handler_, callbacks);
9686-
} else {
9731+
}
9732+
else
9733+
#endif
9734+
{
96879735
return detail::callback_skip_parse_impl<false>(
96889736
f, l, parser, skip, parser.error_handler_, callbacks);
96899737
}

0 commit comments

Comments
 (0)