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 (http://forums.next.codeblocks.org/index.php/topic,3232.0.html).
A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2812_gcc452-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_gcc452-TDM.7z
The 26 June 2011 build is out.
- Windows :
http://prdownload.berlios.de/codeblocks/CB_20110626_rev7257_win32.7z
- Linux :
none
Resolved Fixed:
- fix regex to be not to gready
- make sure textcontrol is initiallly focused in editpath-dialog (see http://forums.next.codeblocks.org/index.php/topic,14810.msg99247.html#msg99247).
- CC: Redesign ParserThread locker
- CC: Add locker for ParseBuffer function
- CC: Fix function arguments parsing error, function overloading related
- CC: Re-designed the TokensTree locker for solve CC crash
- CC: Fix hang on linux
- added $TO_83_PATH macro to concert absolute paths into 8.3 notation (Windows only), similar to $TO_ABSOLUTE_PATH
- added $GET_DATA_DIR macro to compiler/linker options that maps to the wxWidgets wxStandardPaths/GetDataDir function
- added $GET_LOCAL_DATA_DIR, $GET_DOCUMENTS_DIR, $GET_CONFIG_DIR, $GET_USER_CONFIG_DIR (accordingly)
- added $GET_USER_DATA_DIR, $GET_USER_LOCAL_DATA_DIR, $GET_TEMP_DIR (accordingly)
- CC: Remove all RAII object on the heap
- CC: No critical section needed in the Parser's dtor now
- CC: Fix hang occured open an workspace through from open menu (Linux x64bit)
- partial merge from debugger branch: added PLUGIN_LOADING_COMPLETE event to SDK
- multiselectdlg: do not ask to un-select previous selections if there are none
- projectmanager: do not rebuild the tree if app is shutting down (not needed and massively saves time on shutdown)
- projectmanager: verify the treeitem selection to be OK (as stated in the wx docs this should be done!)
- advanced compiler options: added new option "use 8.3 path notation for windres" (Windows only, by default enabled for Cygwin and MinGW compiler)
- fixed bug in "file groups and masks" that the file mask list grows endlessly - thus making the config file huge over time
- cb_share_config: added "abbreviations" ("auto-complete"), "mime types" and "default code" to backup options
- added global function to make a wxArrayString array unique in it's elements (case sensitive/insensitive)
- make C::B correctly detect the Windows version up to Win7
- compilers: make extra paths not appear multiple times in the list (thus, remove duplicates)
- (hopefully) fix a bug, where files are not correctly opened, if an 'undefined references'-error occurs during linking, see: http://forums.next.codeblocks.org/index.php/topic,14562.0.html and http://forums.next.codeblocks.org/index.php/topic,14855.msg
- Add stack size argument for thread pool
- CC: Increase parsing thread stack size
- envars plugin: exposed the following functions to scripting: EnvvarGetEnvvarSetNames, EnvvarGetActiveSetName,
EnvVarGetEnvvarsBySetPath, EnvvarSetExists, EnvvarSetApply, EnvvarSetDiscard, EnvvarApply, EnvvarDiscard - * Remove all memory pool reference, In currently, memory pool is not thread-safe
- CC: Improved parser event sending
- Increase SDK version number
- thread_search: support sorting of the list control
- thread_search: add menu item to focus the thread search entry box in the list view, useful if the user wants to assign a key shortcut for thread searching;
- don't start dwell if the mouse was moved or the application was deactivated; this should fix bug #17745 ( http://forums.next.codeblocks.org/index.php/topic,13763.0.html )
- CC: Improve AddCompilerPredefinedMacros function
- CC: Improve first full parsing
- CC: Improve GetGCCCompilerDirs function, fix possible candidate hang
- updated AStyle plugin so that all options are available as needed (following AStyle 2.02 reference)
- make CScope plugin work in a path with spaces
Regressions/Confirmed/Annoying/Common bugs:
Debian packages (binaries and sources) for 32-bit and 64-bit systems can be found in my repo (http://apt.jenslody.de/).
I'm a student, and sometimes I need to choose some certain files not parsed..
but when I choose not to "compile"/"link" those files, they are still parsed and the symbols there still show in Symbols and in CC
well..it's not a big problem..but I'm still looking for a solution..
Is it possible for current svn, or it could be added later?
thanks..CB is really a fantastic job~~~
I noticed a rather serious regression in code completion, at least on Windows when using MinGW (tried with 4.4.1 and 4.5.2-tdm). On the older
(April and before) builds, typing this:
std::string s;
s.
activates the code completion for the string object; on the latest nightly, it does nothing. This is also true for several other test scenarios,
especially with C++ objects and classes (and especially STL). For instance, in the older builds, this:
std::cout.
activates the completion while in the latest nightly it doesn't. Tested both with the "std::" prefixation and without it when using "using namespace std".
- Agetian
Quote from: Agetian on June 27, 2011, 12:32:56 PM
I noticed a rather serious regression in code completion, at least on Windows when using MinGW (tried with 4.4.1 and 4.5.2-tdm). On the older
(April and before) builds, typing this:
std::string s;
s.
activates the code completion for the string object; on the latest nightly, it does nothing. This is also true for several other test scenarios,
especially with C++ objects and classes (and especially STL). For instance, in the older builds, this:
std::cout.
activates the completion while in the latest nightly it doesn't. Tested both with the "std::" prefixation and without it when using "using namespace std".
- Agetian
Hi, thanks for the report, I can confirm this bug.
I'll check it.
which version did you remember it works OK?
Quote from: ollydbg on June 27, 2011, 02:52:44 PM
Hi, thanks for the report, I can confirm this bug.
I'll check it.
which version did you remember it works OK?
It looks like the May 14 build (rev 7143) from here works: http://forums.next.codeblocks.org/index.php/topic,14689.0.html
I tried the earlier June build but it didn't function correctly for me already. Hope this helps! :)
- Agetian
so, the bug should be introduced from: rev 7143 to rev 7255.
So, need to do a binary search :D
after debugging for about two hours, I found that the bug is related to the parserthread. here is the screenshot:
(http://i683.photobucket.com/albums/vv194/ollydbg_cb/2011-06-28102418.png)
see the image above, the "Ancestors" is empty, this is wrong.
Ok, one hour more, I find the bug:
Quote
mortenmacfly 2011-5-22 23:25:37
* CC: renamed "up-front" into "priority" for better understanding
* CC: massively updated testing tool to allow to parse into includes
- CC: code-cleanup
Then look at the code snippet:
void TokensTree::RecalcInheritanceChain(Token* token)
{
if (!token)
return;
if (!(token->m_TokenKind & (tkClass | tkTypedef | tkEnum | tkNamespace)))
return;
if (token->m_AncestorsString.IsEmpty())
return;
token->m_DirectAncestors.clear();
token->m_Ancestors.clear();
TRACE(_T("RecalcInheritanceChain() : Token %s, Ancestors %s"), token->m_Name.wx_str(),
token->m_AncestorsString.wx_str());
// TODO (MortenMacFly#5#): Can we safely ignore local tokens here?
// if (!token->m_IsLocal) // global symbols are linked once
// {
TRACE(_T("RecalcInheritanceChain() : Removing ancestor string from %s"), token->m_Name.wx_str());
token->m_AncestorsString.Clear();
// }
wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
You have clear the string before tokenize it.
great job ,thanks
Quote from: ollydbg on June 28, 2011, 05:26:08 AM
You have clear the string before tokenize it.
Ooops - that indeed slipped in and was a patch of yours, btw. ;-)
This one should therefore be reverted. However, I can't do it as I don't have SVN access atm.
Give me a diff and I'll revert muahahaha
here it is:
Index: token.cpp
===================================================================
--- token.cpp (revision 7257)
+++ token.cpp (working copy)
@@ -1036,6 +1036,7 @@
token->m_DirectAncestors.clear();
token->m_Ancestors.clear();
+ wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
TRACE(_T("RecalcInheritanceChain() : Token %s, Ancestors %s"), token->m_Name.wx_str(),
token->m_AncestorsString.wx_str());
@@ -1047,7 +1048,7 @@
token->m_AncestorsString.Clear();
// }
- wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
+
while (tkz.HasMoreTokens())
{
wxString ancestor = tkz.GetNextToken();
it is too simple. :D.
Quote from: MortenMacFly on June 28, 2011, 07:42:10 AM
Quote from: ollydbg on June 28, 2011, 05:26:08 AM
You have clear the string before tokenize it.
Ooops - that indeed slipped in and was a patch of yours, btw. ;-)
I nearly forgot my patch :D
Good job, thanks for the fix and for all your work on C::B, definitely the most enjoyable C/C++ coding environment for me! :)
- Agetian
Quote from: ollydbg on June 28, 2011, 08:37:16 AM
here it is:
Index: token.cpp
===================================================================
--- token.cpp (revision 7257)
+++ token.cpp (working copy)
@@ -1036,6 +1036,7 @@
token->m_DirectAncestors.clear();
token->m_Ancestors.clear();
+ wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
TRACE(_T("RecalcInheritanceChain() : Token %s, Ancestors %s"), token->m_Name.wx_str(),
token->m_AncestorsString.wx_str());
@@ -1047,7 +1048,7 @@
token->m_AncestorsString.Clear();
// }
- wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
+
while (tkz.HasMoreTokens())
{
wxString ancestor = tkz.GetNextToken();
it is too simple. :D.
Quote from: MortenMacFly on June 28, 2011, 07:42:10 AM
Quote from: ollydbg on June 28, 2011, 05:26:08 AM
You have clear the string before tokenize it.
Ooops - that indeed slipped in and was a patch of yours, btw. ;-)
I nearly forgot my patch :D
It seems not the best way.
ollydbg, could you checking you mail?
I have some question need talk to you.
Quote from: Loaden on June 28, 2011, 09:05:42 AM
ollydbg, could you checking you mail?
I have some question need talk to you.
replied, and I think my tiny patch is acceptable. :D
Quote from: ollydbg on June 28, 2011, 09:15:50 AM
Quote from: Loaden on June 28, 2011, 09:05:42 AM
ollydbg, could you checking you mail?
I have some question need talk to you.
replied, and I think my tiny patch is acceptable. :D
Done.
You can review rev7259 and find what's the changes.
Quote from: Loaden on June 28, 2011, 10:45:55 AM
Done.
You can review rev7259 and find what's the changes.
Good! I personally think the m_AncestorString should be cleared as soon as possible to avoid the recursive infinite loop when calculate class inheritance.
Patch for NON PCH Build.
Tim S.
Index: src/sdk/logmanager.cpp
===================================================================
--- src/sdk/logmanager.cpp (revision 7266)
+++ src/sdk/logmanager.cpp (working copy)
@@ -9,6 +9,10 @@
#include "sdk_precomp.h"
+#ifndef WX_PRECOMP
+#include <wx/bitmap.h>
+#endif
+
#ifndef CB_PRECOMP
#include <wx/log.h>
#endif
Quote from: stahta01 on July 01, 2011, 04:20:00 AM
Patch for NON PCH Build.
Tim S.
Index: src/sdk/logmanager.cpp
===================================================================
--- src/sdk/logmanager.cpp (revision 7266)
+++ src/sdk/logmanager.cpp (working copy)
@@ -9,6 +9,10 @@
#include "sdk_precomp.h"
+#ifndef WX_PRECOMP
+#include <wx/bitmap.h>
+#endif
+
#ifndef CB_PRECOMP
#include <wx/log.h>
#endif
done. :)
Console redirect doesn't work in windows 8. Please, fix it. >_<
Quote from: Randajad on July 03, 2011, 10:04:57 AM
Console redirect doesn't work in windows 8. Please, fix it. >_<
Well, it looks like you are the one who got his hand on Windows 8. It should be easier for you then to provide us with a patch :)
Quote from: Ceniza on July 03, 2011, 04:03:12 PM
Quote from: Randajad on July 03, 2011, 10:04:57 AM
Console redirect doesn't work in windows 8. Please, fix it. >_<
Well, it looks like you are the one who got his hand on Windows 8. It should be easier for you then to provide us with a patch :)
Harhar... right. According to this:
http://windows8beta.com/2011/06/windows-8-may-rtm-in-april-2012
...we have still plenty of time left. Not to remind you that this might actually be a bug in Windows 8, right?
Quote from: MortenMacFly on July 03, 2011, 04:24:47 PM
Quote from: Ceniza on July 03, 2011, 04:03:12 PM
Quote from: Randajad on July 03, 2011, 10:04:57 AM
Console redirect doesn't work in windows 8. Please, fix it. >_<
Well, it looks like you are the one who got his hand on Windows 8. It should be easier for you then to provide us with a patch :)
Harhar... right. According to this:
http://windows8beta.com/2011/06/windows-8-may-rtm-in-april-2012
...we have still plenty of time left. Not to remind you that this might actually be a bug in Windows 8, right?
A bug? In Windows? I would not be surprised.
Thing is, it could also be a bug in wxWidgets. After all, that is what we use for that kind of stuff, right?
This bug exist only in console runner.
Okay, i'm tested this with .bat file:
(http://i24.fastpic.ru/big/2011/0703/4e/6b48b782d24da312bce96f7b95813b4e.jpg)
It works. But when i press F9 in code blocks:
(http://i26.fastpic.ru/big/2011/0703/f1/5834eae6dd329ffa402178971fed76f1.jpg)
Ideas?
What's the content of the "Build log" ?
Checking for existence: D:\Project\Rwork\example\example.exe
Executing: "D:\Tools\CodeBlocks/cb_console_runner.exe" "D:\Project\Rwork\example\example.exe" (in D:\Project\Rwork\example\.)
Process terminated with status 0 (0 minutes, 2 seconds)