Skip to content

Commit b131312

Browse files
author
Andreas Buhr
committed
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 c674e94 commit b131312

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
@@ -8902,10 +8902,14 @@ namespace boost { namespace parser {
89028902
"If you're seeing this error, you're trying to get parse() to "
89038903
"fill in attr above, using the attribute generated by parser. "
89048904
"However, parser does not generate an attribute.");
8905+
#ifndef BOOST_PARSER_DISABLE_TRACE
89058906
if (trace_mode == trace::on) {
89068907
return reset = detail::parse_impl<true>(
89078908
first, last, parser, parser.error_handler_, attr);
8908-
} else {
8909+
}
8910+
else
8911+
#endif
8912+
{
89098913
return reset = detail::parse_impl<false>(
89108914
first, last, parser, parser.error_handler_, attr);
89118915
}
@@ -8920,10 +8924,14 @@ namespace boost { namespace parser {
89208924
"If you're seeing this error, you're trying to get parse() to "
89218925
"fill in attr above, using the attribute generated by parser. "
89228926
"However, parser does not generate an attribute.");
8927+
#ifndef BOOST_PARSER_DISABLE_TRACE
89238928
if (trace_mode == trace::on) {
89248929
return reset = detail::parse_impl<true>(
89258930
f, l, parser, parser.error_handler_, attr);
8926-
} else {
8931+
}
8932+
else
8933+
#endif
8934+
{
89278935
return reset = detail::parse_impl<false>(
89288936
f, l, parser, parser.error_handler_, attr);
89298937
}
@@ -9024,10 +9032,14 @@ namespace boost { namespace parser {
90249032
trace trace_mode = trace::off)
90259033
{
90269034
if constexpr (!detail::is_char8_iter_v<I>) {
9035+
#ifndef BOOST_PARSER_DISABLE_TRACE
90279036
if (trace_mode == trace::on) {
90289037
return detail::parse_impl<true>(
90299038
first, last, parser, parser.error_handler_);
9030-
} else {
9039+
}
9040+
else
9041+
#endif
9042+
{
90319043
return detail::parse_impl<false>(
90329044
first, last, parser, parser.error_handler_);
90339045
}
@@ -9037,10 +9049,14 @@ namespace boost { namespace parser {
90379049
auto f = r.begin();
90389050
auto const l = r.end();
90399051
auto _ = detail::scoped_base_assign(first, f);
9052+
#ifndef BOOST_PARSER_DISABLE_TRACE
90409053
if (trace_mode == trace::on) {
90419054
return detail::parse_impl<true>(
90429055
f, l, parser, parser.error_handler_);
9043-
} else {
9056+
}
9057+
else
9058+
#endif
9059+
{
90449060
return detail::parse_impl<false>(
90459061
f, l, parser, parser.error_handler_);
90469062
}
@@ -9143,6 +9159,7 @@ namespace boost { namespace parser {
91439159
"If you're seeing this error, you're trying to get parse() to "
91449160
"fill in attr above, using the attribute generated by parser. "
91459161
"However, parser does not generate an attribute.");
9162+
#ifndef BOOST_PARSER_DISABLE_TRACE
91469163
if (trace_mode == trace::on) {
91479164
return reset = detail::skip_parse_impl<true>(
91489165
first,
@@ -9151,7 +9168,10 @@ namespace boost { namespace parser {
91519168
skip,
91529169
parser.error_handler_,
91539170
attr);
9154-
} else {
9171+
}
9172+
else
9173+
#endif
9174+
{
91559175
return reset = detail::skip_parse_impl<false>(
91569176
first,
91579177
last,
@@ -9171,10 +9191,14 @@ namespace boost { namespace parser {
91719191
"If you're seeing this error, you're trying to get parse() to "
91729192
"fill in attr above, using the attribute generated by parser. "
91739193
"However, parser does not generate an attribute.");
9194+
#ifndef BOOST_PARSER_DISABLE_TRACE
91749195
if (trace_mode == trace::on) {
91759196
return reset = detail::skip_parse_impl<true>(
91769197
f, l, parser, skip, parser.error_handler_, attr);
9177-
} else {
9198+
}
9199+
else
9200+
#endif
9201+
{
91789202
return reset = detail::skip_parse_impl<false>(
91799203
f, l, parser, skip, parser.error_handler_, attr);
91809204
}
@@ -9276,10 +9300,14 @@ namespace boost { namespace parser {
92769300
trace trace_mode = trace::off)
92779301
{
92789302
if constexpr (!detail::is_char8_iter_v<I>) {
9303+
#ifndef BOOST_PARSER_DISABLE_TRACE
92799304
if (trace_mode == trace::on) {
92809305
return detail::skip_parse_impl<true>(
92819306
first, last, parser, skip, parser.error_handler_);
9282-
} else {
9307+
}
9308+
else
9309+
#endif
9310+
{
92839311
return detail::skip_parse_impl<false>(
92849312
first, last, parser, skip, parser.error_handler_);
92859313
}
@@ -9289,10 +9317,14 @@ namespace boost { namespace parser {
92899317
auto f = r.begin();
92909318
auto const l = r.end();
92919319
auto _ = detail::scoped_base_assign(first, f);
9320+
#ifndef BOOST_PARSER_DISABLE_TRACE
92929321
if (trace_mode == trace::on) {
92939322
return detail::skip_parse_impl<true>(
92949323
f, l, parser, skip, parser.error_handler_);
9295-
} else {
9324+
}
9325+
else
9326+
#endif
9327+
{
92969328
return detail::skip_parse_impl<false>(
92979329
f, l, parser, skip, parser.error_handler_);
92989330
}
@@ -9393,10 +9425,14 @@ namespace boost { namespace parser {
93939425
trace trace_mode = trace::off)
93949426
{
93959427
if constexpr (!detail::is_char8_iter_v<I>) {
9428+
#ifndef BOOST_PARSER_DISABLE_TRACE
93969429
if (trace_mode == trace::on) {
93979430
return detail::callback_parse_impl<true>(
93989431
first, last, parser, parser.error_handler_, callbacks);
9399-
} else {
9432+
}
9433+
else
9434+
#endif
9435+
{
94009436
return detail::callback_parse_impl<false>(
94019437
first, last, parser, parser.error_handler_, callbacks);
94029438
}
@@ -9406,10 +9442,14 @@ namespace boost { namespace parser {
94069442
auto f = r.begin();
94079443
auto const l = r.end();
94089444
auto _ = detail::scoped_base_assign(first, f);
9445+
#ifndef BOOST_PARSER_DISABLE_TRACE
94099446
if (trace_mode == trace::on) {
94109447
return detail::callback_parse_impl<true>(
94119448
f, l, parser, parser.error_handler_, callbacks);
9412-
} else {
9449+
}
9450+
else
9451+
#endif
9452+
{
94139453
return detail::callback_parse_impl<false>(
94149454
f, l, parser, parser.error_handler_, callbacks);
94159455
}
@@ -9518,6 +9558,7 @@ namespace boost { namespace parser {
95189558
trace trace_mode = trace::off)
95199559
{
95209560
if constexpr (!detail::is_char8_iter_v<I>) {
9561+
#ifndef BOOST_PARSER_DISABLE_TRACE
95219562
if (trace_mode == trace::on) {
95229563
return detail::callback_skip_parse_impl<true>(
95239564
first,
@@ -9526,7 +9567,10 @@ namespace boost { namespace parser {
95269567
skip,
95279568
parser.error_handler_,
95289569
callbacks);
9529-
} else {
9570+
}
9571+
else
9572+
#endif
9573+
{
95309574
return detail::callback_skip_parse_impl<false>(
95319575
first,
95329576
last,
@@ -9541,10 +9585,14 @@ namespace boost { namespace parser {
95419585
auto f = r.begin();
95429586
auto const l = r.end();
95439587
auto _ = detail::scoped_base_assign(first, f);
9588+
#ifndef BOOST_PARSER_DISABLE_TRACE
95449589
if (trace_mode == trace::on) {
95459590
return detail::callback_skip_parse_impl<true>(
95469591
f, l, parser, skip, parser.error_handler_, callbacks);
9547-
} else {
9592+
}
9593+
else
9594+
#endif
9595+
{
95489596
return detail::callback_skip_parse_impl<false>(
95499597
f, l, parser, skip, parser.error_handler_, callbacks);
95509598
}

0 commit comments

Comments
 (0)