News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

CC fails to parse parts of boost

Started by MortenMacFly, January 23, 2010, 04:32:48 PM

Previous topic - Next topic

MortenMacFly

...namely this file:

[BOOST v1.4.0]\boost\spirit\home\classic\attribute\closure.hpp

...causes and endless loop. Just for the record. I've now time to look into it atm...
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

MortenMacFly

...some update:
Attached is the log of ParserThread. As you see: It freaks out in "HandleTypedef()" / "ReadClsNames()". There is still a major bug there.

DoAddToken() : Added/updated token 'T13' (41), type ', typenametypename', actual 'typenametypename'. Parent is spirit (4)
DoAddToken() : Prepending ''
DoAddToken() : Added/updated token 'closure' (42), type '', actual ''. Parent is spirit (4)
DoParse() : Loop:m_Str='', token='typedef'
HandleTypedef() : Typedef start
HandleTypedef() : token=phoenix, peek=::
HandleTypedef() : Pushing component='phoenix::closure', typedef args=''
HandleTypedef() : token=3, peek=,
ReadClsNames() : Unexpected token '3'.
HandleTypedef() : Pushing component='3', typedef args=''
+ '3'
HandleTypedef() : token=3, peek=,
ReadClsNames() : Unexpected token '3'.
HandleTypedef() : Pushing component='3', typedef args=''
+ '3'
HandleTypedef() : token=3, peek=,
ReadClsNames() : Unexpected token '3'.
HandleTypedef() : Pushing component='3', typedef args=''
+ '3'
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

MortenMacFly

...another update:
If you paste the following code (it's part of the content of closure.hpp) into an own (empty) file you can reproduce this bug.
    template <
            typename DerivedT
        ,   typename T0
        ,   typename T1
        ,   typename T2

    #if BOOST_SPIRIT_CLOSURE_LIMIT > 3
        ,   typename T3
        ,   typename T4
        ,   typename T5
    #endif
    >
    struct closure :
        public phoenix::closure<
            T0, T1, T2
    #if BOOST_SPIRIT_CLOSURE_LIMIT > 3
        ,   T3, T4, T5
    #endif
        >
    {
        typedef phoenix::closure<
                T0, T1, T2
    #if BOOST_SPIRIT_CLOSURE_LIMIT > 3
            ,   T3, T4, T5
    #endif
            > phoenix_closure_t;

        typedef closure_context<DerivedT> context_t;
    };
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

MortenMacFly

Quote from: MortenMacFly on January 23, 2010, 04:59:57 PM
   template <
           typename DerivedT
       ,   typename T0
       ,   typename T1
       ,   typename T2

   #if BOOST_SPIRIT_CLOSURE_LIMIT > 3

Harahar - do you see the bug? The ">" of "#if BOOST_SPIRIT_CLOSURE_LIMIT > 3" is taken as closing template bracket which is wrong!

However, I need to go now... :-(
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

mandrav

Be patient!
This bug will be fixed soon...

killerbot

Quote from: mandrav on January 23, 2010, 11:15:27 PM
Rev.6110 must have this fixed.

because it is fixed :  :D
because it is fixed by :  :D  :D  :P