This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/36391] Compilation never ends
- From: "ivan at cvut dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Jun 2008 16:11:53 -0000
- Subject: [Bug c++/36391] Compilation never ends
- References: <bug-36391-16263@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from ivan at cvut dot cz 2008-06-15 16:11 -------
Final shortened code looks like this:
-------------- snap --------------
#include <boost/spirit.hpp>
void A()
{
using namespace boost::spirit;
rule<> char_tm= (
ch_p('=') |
';' |
',' |
'|' |
'*' |
'.' |
'(' |
')' |
'<' |
// '>' |
// '%' |
// blank_p |
eol_p
);
};
-------------- snap --------------
Compilation time grows exponentially with number of | operators.
See table
No. of '|' operators comp. time
01 - 0m1.768s
02 - 0m1.908s
03 - 0m2.072s
04 - 0m1.888s
05 - 0m2.088s
06 - 0m2.956s
07 - 0m5.188s
08 - 0m15.437s
09 - 0m54.819s
10 - 3m32.769s
11 - 14m5.553s
...
etc
--
ivan at cvut dot cz changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ivan at cvut dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36391