Author Topic: The 02 March 2014 build (9673.) is out.  (Read 36447 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
The 02 March 2014 build (9673.) is out.
« on: March 02, 2014, 10:17:54 am »
Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works.

A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2812_gcc481-TDM.7z

For those who might need this one (when no MingW installed on your system) : the mingw10m.dll : http://prdownload.berlios.de/codeblocks/mingwm10_gcc481-TDM.7z

The 02 March 2014 build is out.
  - Windows :
   http://prdownload.berlios.de/codeblocks/CB_20140302_rev9673_win32.7z
  - Linux :
   none

Resolved Fixed:

  • CC: this is an improvement to Huki's cc_includes_parsing.patch. When recursive parsing of cpp/h files, we need to release the locker on each recursive call, so the parser does not hold the locker for a very long time, the GUI will not hang. The header files in the project do not be added to the BatchParse any more, since it will mass the bool Parser::Parse(const wxString& filename, bool isLocal, bool locked, LoaderBase* loader) function a lot, if the header file is marked as assigned in the TokenTree, it will not be parsed immedially when Parser::Parse() is called. The related discussion can be found in forum: http://forums.codeblocks.org/index.php/topic,18315.msg128446.html#msg128446
  • syntax highlight: Fix bug for Bash language, where the Scalar's background couldn't be set to default
  • CC: show formatted args of methods, if docs helper is disabled in the CC options
  • CC: made the option for CC simpler: Either you choose documentation with all (good) consequences or not (probably fixes http://forums.codeblocks.org/index.php/topic,18991.msg130116.html#msg130116)

Regressions/Confirmed/Annoying/Common bugs:



    Offline carra

    • Multiple posting newcomer
    • *
    • Posts: 117
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #1 on: March 03, 2014, 10:24:34 am »
    I haven't been able to reproduce it again, but the first time I run version 9673 I saw a popup telling me that 2 DLLs for plugins couldn't be loaded. Both were related to wxSmith, one is wxSmith.dll and the other one I can't remember (I couldn't take a screenshot in time).

    It might be just me, but I thought I'd tell it here just in case...

    Offline Jenna

    • Administrator
    • Lives here!
    • *****
    • Posts: 7255
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #2 on: March 03, 2014, 10:29:40 am »
    On my server since yesterday:

    Debian packages (binaries and sources) for 32-bit and 64-bit systems can be found in my debian-repo.
    Fedora packages (binaries and sources) for 32-bit and 64-bit systems (fc18, fc19, fc20 and rawhide) and RedHat/CentOS 5 and 6 packages (also 32-bit and 64-bit) can be found in my rpm-repo .

    Offline shurick

    • Multiple posting newcomer
    • *
    • Posts: 35
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #3 on: March 03, 2014, 01:20:26 pm »
    Packages for openSUSE 12.2 - 13.1 (binaries and sources) for 32-bit and 64-bit.
    Packages for openSUSE http://codeblocks.esy.es  (binaries and sources) for 32-bit and 64-bit.

    Offline carra

    • Multiple posting newcomer
    • *
    • Posts: 117
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #4 on: March 03, 2014, 04:34:19 pm »
    Even though it's not related to version 9673 (it is MUCH older), I am going to report a bug in Code Completion since it seems to be the main improvement focus nowadays.

    As far as I can remember, Code::Blocks has never provided autocompletion of a constructor's parameters within its initialization list. For instance, take this code:

    Code
        ListCell::ListCell( P_Object First_, P_Object Rest_ )
        // - - - - - - - - - - - - - - - - - -
        :   First( First_ )  // <-- cursor HERE
        ,   Rest( Rest_ )
        // - - - - - - - - - - - - - - - - - -
        {
            // (do nothing)
        }

    When the cursor is inside the braces, CC correctly handles First_ and Rest_. But if the cursor is on the line with the arrow, I am offered completion for First (i.e. the class attribute), but not for First_.

    PD: Searched for this, found nothing. Excuse me if it had already been said somewhere...

    Offline ollydbg

    • Developer
    • Lives here!
    • *****
    • Posts: 5910
    • OpenCV and Robotics
      • Chinese OpenCV forum moderator
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #5 on: March 04, 2014, 03:48:32 pm »
    Even though it's not related to version 9673 (it is MUCH older), I am going to report a bug in Code Completion since it seems to be the main improvement focus nowadays.

    As far as I can remember, Code::Blocks has never provided autocompletion of a constructor's parameters within its initialization list. For instance, take this code:

    Code
        ListCell::ListCell( P_Object First_, P_Object Rest_ )
        // - - - - - - - - - - - - - - - - - -
        :   First( First_ )  // <-- cursor HERE
        ,   Rest( Rest_ )
        // - - - - - - - - - - - - - - - - - -
        {
            // (do nothing)
        }

    When the cursor is inside the braces, CC correctly handles First_ and Rest_. But if the cursor is on the line with the arrow, I am offered completion for First (i.e. the class attribute), but not for First_.

    PD: Searched for this, found nothing. Excuse me if it had already been said somewhere...
    First, thanks for the report, this is a feature request. Maybe, you can put it to BerliOS, but I suggest that the new Feature Request system will translated to Sourceforge, since BerliOS will be closed in one or two months.   ;)

    See: Bug/feature reqeust move to Sourceforge
    berlios will close project host in 2014.04
    If some piece of memory should be reused, turn them to variables (or const variables).
    If some piece of operations should be reused, turn them to functions.
    If they happened together, then turn them to classes.

    Offline ollydbg

    • Developer
    • Lives here!
    • *****
    • Posts: 5910
    • OpenCV and Robotics
      • Chinese OpenCV forum moderator
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #6 on: March 05, 2014, 08:26:23 am »
    I try to extract the file wxmsw28u_gcc_cb_wx2812_gcc481-TDM.7z on a 64bit Windows 7 system with 7zip(64bit, latest alpha version), but it failed. The other 7z file works fine. Not surer what is the problem. It works OK on a 32bit Windows XP system (with 32bit 7zip). I download this file again, and the problem is gone, sorry for the noise.
    « Last Edit: March 05, 2014, 08:30:51 am by ollydbg »
    If some piece of memory should be reused, turn them to variables (or const variables).
    If some piece of operations should be reused, turn them to functions.
    If they happened together, then turn them to classes.

    Offline carra

    • Multiple posting newcomer
    • *
    • Posts: 117
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #7 on: March 05, 2014, 09:15:12 am »
    Thanks ollydbg, I did submit the request to BerliOS (pretty much a copy-paste of my previous post). You can find it here: https://developer.berlios.de/feature/index.php?func=detailfeature&feature_id=5734&group_id=5358

    Offline White-Tiger

    • Multiple posting newcomer
    • *
    • Posts: 83
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #8 on: March 06, 2014, 03:04:00 am »
    since there are some CC improvements.... I would like to see some bugs fixed as well ;)
    It happens from time to time that CC doesn't recognize specific functions, normally it's just 1-2 functions in a file... but using Microsoft MFC inside a project, almost completely kills CC.
    As soon as a message map is used, CC is gone for everything below that.

    Here's some test code (based on MFC code but slightly modified to minimize it)
    Quote from: cpp
    #define PTM_WARNING_DISABLE
    #define PTM_WARNING_RESTORE
    struct AFX_MSGMAP_ENTRY;
    struct AFX_MSGMAP
    {
       const AFX_MSGMAP* (*pfnGetBaseMap)();
       const AFX_MSGMAP_ENTRY* lpEntries;
    };
    #define BEGIN_MESSAGE_MAP(theClass, baseClass) \
       PTM_WARNING_DISABLE \
       const AFX_MSGMAP* theClass::GetMessageMap() const \
          { return GetThisMessageMap(); } \
       const AFX_MSGMAP* theClass::GetThisMessageMap() \
       { \
          typedef theClass ThisClass;                     \
          typedef baseClass TheBaseClass;                  \
          static const AFX_MSGMAP_ENTRY _messageEntries[] =  \
          {
    #define END_MESSAGE_MAP() \
          {0, 0, 0, 0, 0, 0 } \
       }; \
          static const AFX_MSGMAP messageMap = \
          { &TheBaseClass::GetThisMessageMap, &_messageEntries[0] }; \
          return &messageMap; \
       }                          \
       PTM_WARNING_RESTORE
    struct AFX_MSGMAP_ENTRY{
       int a,b,c,d,e,f;
    };
    class BaseClass{
       virtual AFX_MSGMAP* GetThisMessageMap();
    public:
       virtual AFX_MSGMAP* GetMessageMap();
    };
    class SomeClass : public BaseClass{
       AFX_MSGMAP* GetThisMessageMap();
    public:
       AFX_MSGMAP* GetMessageMap();
    };

    /// known functions
    void mynonmissingfunc1(){
    }
    void mynonmissingfunc2(){
    }

    BEGIN_MESSAGE_MAP(SomeClass, BaseClass)
    // [...]
    END_MESSAGE_MAP()/// somehow ignored

    //} }/// uncomment this to detect all functions (in my real world example, I didn't need two "}" but one)

    /// unknown functions
    void mymissingfunc1(){
    }
    void mymissingfunc2(){
    }
    void mymissingfunc3(){
    }

    PS: I once had to declare "AFX_MSGMAP_ENTRY" without forward declaration... and it worked... dunno if that was real or not xD
    « Last Edit: March 06, 2014, 03:06:34 am by White-Tiger »
    Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
    Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

    Offline ollydbg

    • Developer
    • Lives here!
    • *****
    • Posts: 5910
    • OpenCV and Robotics
      • Chinese OpenCV forum moderator
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #9 on: March 06, 2014, 03:31:28 am »
    since there are some CC improvements.... I would like to see some bugs fixed as well ;)
    It happens from time to time that CC doesn't recognize specific functions, normally it's just 1-2 functions in a file... but using Microsoft MFC inside a project, almost completely kills CC.
    As soon as a message map is used, CC is gone for everything below that.

    Here's some test code (based on MFC code but slightly modified to minimize it)
    ...
    Hi, firstly, thanks for the minimal code. We have already said that CC's parsing don't expand macros on every Token. So
    Code
    BEGIN_MESSAGE_MAP(SomeClass, BaseClass)
    // [...]
    END_MESSAGE_MAP()
    When it see BEGIN_MESSAGE_MAP, it don't expand it, same as END_MESSAGE_MAP().
    The method you can do is to add one rule (manually replacement rule) in CC's setting dialog.
    Code
    BEGIN_EVENT_TABLE -> -END_EVENT_TABLE
    So, those blocks were ignored. I think the document of such option should be updated in Code Completion Design - CodeBlocks, currently it is wrong.

    Also, if CC did try to expand every token, then it should work. See Huki's comments here: Re: X Macro. Your problem is much like the X Macro problem.


    Quote
    PS: I once had to declare "AFX_MSGMAP_ENTRY" without forward declaration... and it worked... dunno if that was real or not xD
    Not fully understand this sentence, can you show a minimal sample code? Thanks.
    If some piece of memory should be reused, turn them to variables (or const variables).
    If some piece of operations should be reused, turn them to functions.
    If they happened together, then turn them to classes.

    Offline White-Tiger

    • Multiple posting newcomer
    • *
    • Posts: 83
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #10 on: March 06, 2014, 03:21:51 pm »
    [...]
    Code
    BEGIN_MESSAGE_MAP(SomeClass, BaseClass)
    // [...]
    END_MESSAGE_MAP()
    When it see BEGIN_MESSAGE_MAP, it don't expand it, same as END_MESSAGE_MAP().
    [...]
    are you sure about that? I've also tried to define my braces this way:
    #define WHATEVER }}
    WHATEVER
    and it worked.... also "BEGIN_MESSAGE_MAP" doesn't seem like it's ignored since that's were the braces come from...
    Further more it knows that GetMessageMap and GetThisMessageMap are implemented at the "BEGIN_MESSAGE_MAP" macro.
    So it's definitely the end that doesn't work at all. (uncommenting "BEGIN_*" also fixes the parser :P)

    [...]
    The method you can do is to add one rule (manually replacement rule) in CC's setting dialog.
    Code
    BEGIN_EVENT_TABLE -> -END_EVENT_TABLE
    So, those blocks were ignored. I think the document of such option should be updated in Code Completion Design - CodeBlocks, currently it is wrong.
    at least a work around in this case... thanks

    Also, if CC did try to expand every token, then it should work. See Huki's comments here: Re: X Macro. Your problem is much like the X Macro problem.
    [...]
    well... "Parse complex macros (needs more time)" is enabled :P Guess otherwise BEGIN_EVENT_TABLE wouldn't even be expanded... but END_EVENT_TABLE doesn't work and that is a bug.
    Windoze 8.1 x86_64 16GiB RAM, wxWidgets-2.8x (latest,trunk), MinGW-builds (latest, posix-threads)
    Code::Blocks (x86 , latest , selection length patch , build option fixes/additions , toggle comments)

    zinat

    • Guest
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #11 on: May 19, 2014, 07:44:13 pm »
    Trying to download build 9673 but the links doesn't seem to work.. any other way??

    Offline Alpha

    • Developer
    • Lives here!
    • *****
    • Posts: 1513
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #12 on: May 19, 2014, 08:54:12 pm »
    Trying to download build 9673 but the links doesn't seem to work.. any other way??
    Do binaries from SourceForge work for you?

    Offline ollydbg

    • Developer
    • Lives here!
    • *****
    • Posts: 5910
    • OpenCV and Robotics
      • Chinese OpenCV forum moderator
    Re: The 02 March 2014 build (9673.) is out.
    « Reply #13 on: October 06, 2014, 07:00:37 am »
    @White-Tiger: Some further discussion about expansion the event macros, see here: Re: Several improvements to Code Completion plugin
    If some piece of memory should be reused, turn them to variables (or const variables).
    If some piece of operations should be reused, turn them to functions.
    If they happened together, then turn them to classes.