@vix
can you try this,just start c::b application. and then open the cb project and post the output log here
Here you are
Initialize EditColourSet .....
Initialize EditColourSet: done.
Loading toolbar...
AStylePlugin: loaded
Autosave: loaded
AutoVersioning: loaded
BrowseTracker: loaded
BYOGames: loaded
CB_Koders: loaded
Cccc: loaded
ClassWizard: loaded
CodeCompletion: loaded
CodeSnippets: loaded
CodeStat: loaded
Compiler: loaded
copystrings: loaded
CppCheck: loaded
Debugger: loaded
FilesExtensionHandler: loaded
DevPakUpdater: loaded
cbDragScroll: loaded
EnvVars: loaded
Exporter: loaded
HeaderFixup: loaded
HelpPlugin: loaded
HexEditor: loaded
IncrementalSearch: loaded
cbKeyBinder: loaded
lib_finder: loaded
MouseSap: loaded
OpenFilesList: loaded
Profiler: loaded
ProjectsImporter: loaded
RegExTestbed: loaded
ScriptedWizard: loaded
SymTab: loaded
ThreadSearch: loaded
ToDoList: loaded
wxSmith: loaded
wxSmithMime: loaded
wxSmithAui: loaded
wxSmithContribItems: loaded
WindowsXPLookNFeel: loaded
Source code formatter (AStyle) plugin activated
Autosave plugin activated
AutoVersioning plugin activated
BrowseTracker plugin activated
Koders query plugin activated
Cccc plugin activated
Class wizard plugin activated
Code completion plugin activated
Code snippets plugin activated
Code statistics plugin activated
Added compiler "GNU GCC Compiler"
Parsing stage done (0 total parsed files, 0 tokens in 0 minute(s), 0.0 seconds).
Updating class browser...
Class browser updated.
Added compiler "Microsoft Visual C++ Toolkit 2003"
Added compiler "Microsoft Visual C++ 2005/2008"
Added compiler "Borland C++ Compiler (5.5, 5.82)"
Added compiler "Digital Mars Compiler"
Added compiler "OpenWatcom (W32) Compiler"
Added compiler "GNU GCC Compiler for MSP430"
Added compiler "Cygwin GCC"
Added compiler "LCC Compiler"
Added compiler "Intel C/C++ Compiler"
Added compiler "SDCC Compiler"
Added compiler "Tiny C Compiler"
Added compiler "GDC D Compiler"
Added compiler "Digital Mars D Compiler"
Added compiler "GNU ARM GCC Compiler"
Added compiler "GNU AVR GCC Compiler"
Added compiler "GNU GCC Compiler for PowerPC"
Added compiler "GNU GCC Compiler for TriCore"
Compiler plugin activated
Copy Strings to clipboard plugin activated
CppCheck plugin activated
Debugger plugin activated
Files extension handler plugin activated
DevPak updater/installer plugin activated
DragScroll plugin activated
Environment variables plugin activated
Source Exporter plugin activated
Header Fixup plugin activated
Help plugin plugin activated
HexEditor plugin activated
IncrementalSearch plugin activated
Keyboard shortcuts plugin activated
Library finder plugin activated
MouseSap plugin activated
Open files list plugin activated
Code profiler plugin activated
Foreign projects importer plugin activated
Regular expressions testbed plugin activated
Project wizard added for 'Empty project'
Project wizard added for 'Console application'
Project wizard added for 'D application'
Project wizard added for 'Direct/X project'
Project wizard added for 'Dynamic Link Library'
Project wizard added for 'Kernel Mode Driver'
Project wizard added for 'FLTK project'
Project wizard added for 'GLFW project'
Project wizard added for 'GLUT project'
Project wizard added for 'GTK+ project'
Project wizard added for 'Irrlicht project'
Project wizard added for 'Lightfeather project'
Project wizard added for 'Matlab project'
Project wizard added for 'OpenGL project'
Project wizard added for 'Ogre project'
Project wizard added for 'Code::Blocks plugin'
Project wizard added for 'QT4 project'
Project wizard added for 'SDL project'
Project wizard added for 'SmartWin project'
Project wizard added for 'Static library'
Project wizard added for 'STL port application'
Project wizard added for 'Shared library'
Project wizard added for 'Win32 GUI project'
Project wizard added for 'wxWidgets project'
Build-target wizard added for 'Console'
Build-target wizard added for 'Static library'
Build-target wizard added for 'Dynamic Link Library'
Build-target wizard added for 'wxWidgets'
Project wizard added for 'ARM Project'
Project wizard added for 'AVR Project'
Project wizard added for 'TriCore Project'
Project wizard added for 'PowerPC Project'
File(s) wizard added for 'Empty file'
File(s) wizard added for 'C/C++ source'
File(s) wizard added for 'C/C++ header'
Scripted wizard plugin activated
Symbol Table Plugin plugin activated
ThreadSearch plugin activated
Todo List plugin activated
wxSmith plugin activated
wxSmith - MIME plugin plugin activated
wxSmith - Aui plugin activated
wxSmith - Contrib Items plugin activated
Windows XP Look'n'Feel plugin activated
Initializing plugins...
Loading workspace "C:\Documents and Settings\viganoe\Dati applicazioni\codeblocks\default.workspace"
Workspace file contains no projects...
Loading project file...
Parsing project file...
Loading target tinyXML
Loading target AutoRevision
Loading target ConsoleRunner
Loading target Squirrel
Loading target Squirrel std lib
Loading target SqPlus
Loading target scintilla
Loading target sdk
Loading target src
Loading target AStyle
Loading target Compiler depslib
Loading target Compiler
Loading target Debugger
Loading target Code-completion
Loading target Class wizard
Loading target Default MIME handler
Loading target Open files list
Loading target Scripted wizard
Loading target To-do
Loading target Autosave
Loading target XP look & feel
Loading target Projects-workspaces importer
Loading project files...
870 files loaded
Done loading project in 250ms
Project's base path: D:\projects\CodeBlocks\src\
Project's common toplevel path: D:\projects\CodeBlocks\src\
Final encoding detected: Windows Western European (CP 1252) (ID: 33)
project data set for D:\projects\CodeBlocks\src\base\tinyxml\tinystr.cpp
Text seems to be pure ASCII!
We use user specified encoding: Windows Western European (CP 1252) (ID: 33)
Final encoding detected: Windows Western European (CP 1252) (ID: 33)
project data set for D:\projects\CodeBlocks\src\sdk\blockallocated.cpp
Text seems to be pure ASCII!
We use user specified encoding: Windows Western European (CP 1252) (ID: 33)
Final encoding detected: Windows Western European (CP 1252) (ID: 33)
project data set for D:\projects\CodeBlocks\src\sdk\cbstyledtextctrl.cpp
Text seems to be pure ASCII!
We use user specified encoding: Windows Western European (CP 1252) (ID: 33)
Final encoding detected: Windows Western European (CP 1252) (ID: 33)
project data set for D:\projects\CodeBlocks\src\sdk\compiletargetbase.cpp
Text seems to be pure ASCII!
We use user specified encoding: Windows Western European (CP 1252) (ID: 33)
Final encoding detected: Windows Western European (CP 1252) (ID: 33)
project data set for D:\projects\CodeBlocks\src\sdk\editarraystringdlg.cpp
Top Editor: D:\projects\CodeBlocks\src\sdk\editarraystringdlg.cpp
Add project Code::Blocks in parsing queue
Caching internal gcc dirs for adding to parser...
Caching GCC dir: c:\MinGW\lib\gcc\mingw32\4.4.1\include\c++
Caching GCC dir: c:\MinGW\lib\gcc\mingw32\4.4.1\include\c++\mingw32
Caching GCC dir: c:\MinGW\lib\gcc\mingw32\4.4.1\include\c++\backward
Caching GCC dir: c:\MinGW\include
Caching GCC dir: c:\MinGW\lib\gcc\mingw32\4.4.1\include
Caching GCC dir: c:\MinGW\lib\gcc\mingw32\4.4.1\include-fixed
Passing list of files to batch-parser.
Batch-parsing 724 file(s)...
Starting batch parsing...
Parsing stage done (1507 total parsed files, 84531 tokens in 0 minute(s), 44.594 seconds).
Updating class browser...
Class browser updated.
I can confirm it, SVN 6089.
Please download this CB pack, and unpack it to D:\LoveDEV.
http://ppn.googlecode.com/files/LoveDEV.7z (http://ppn.googlecode.com/files/LoveDEV.7z) Contains VC9 compiler, I promise there is no virus, there is no malicious code.
if create a VC project, CPU is 50%.
#include <iostream>
#include <windows.h>
#include <winbase.h>
using namespace std;
int main()
{
::
cout << "Hello world!" << endl;
return 0;
}
[attachment deleted by admin]
@all.
I find the bug why the parser get stuck when parsing the VC 2005 header files:
Here is the detailed report.
I found that the parser in CC will loop infinitively in parsing these code:
in the header file: vc\include\crtdefs.h, around line: 2043.
typedef struct localeinfo_struct
{
pthreadlocinfo locinfo;
pthreadmbcinfo mbcinfo;
} _locale_tstruct, *_locale_t;
and the bug seems in the void ParserThread::HandleTypedef(), there is a while loop in this function.
void ParserThread::HandleTypedef(){
...
while(true)
{
token = m_Tokenizer.GetToken();
peek = m_Tokenizer.PeekToken();
......
}
}
Unluckily, this is a infinit loop, and we can't break the loop. each time, we will get the token = "_locale_tstruct" and peek = "," , So, this is the REASON why many C::B users who use VC compilers will get their IDE hangs.
So, there is a logic error in handling typedef statement....
I think this is strange behaviour of CC:
std::string().append("").append("").append(""). // and etc
The more recurces I use the slower CC works. Why? After last point in the example I waited about 15 seconds. And so on.
Can it be eliminated?
I find the bug why the parser get stuck when parsing the VC 2005 header files:
Well done.
So, there is a logic error in handling typedef statement....
True.
You pointed correctly to:
void ParserThread::HandleTypedef(){
...
while(true)
{
token = m_Tokenizer.GetToken();
peek = m_Tokenizer.PeekToken();
......
else if (peek == ParserConsts::comma)
{
m_Tokenizer.UngetToken();
if (components.size() != 0)
{
......
}
Just from a quick look I've added the other "bad" part. I'll look into it and try to reproduce.
@morten
you can try this patch:
Index: src/plugins/codecompletion/parser/parserthread.cpp
===================================================================
--- src/plugins/codecompletion/parser/parserthread.cpp (revision 6090)
+++ src/plugins/codecompletion/parser/parserthread.cpp (working copy)
@@ -1803,19 +1803,20 @@
else if (peek == ParserConsts::comma)
{
m_Tokenizer.UngetToken();
+
if (components.size() != 0)
{
wxString ancestor;
while (components.size() > 0)
{
- wxString token = components.front();
+ wxString tempToken = components.front();
components.pop();
if (!ancestor.IsEmpty())
ancestor << _T(' ');
- ancestor << token;
- ReadClsNames(ancestor);
+ ancestor << tempToken;
}
+ ReadClsNames(ancestor);
}
}
else if (token == ParserConsts::kw_enum)
@@ -1989,11 +1990,9 @@
else if (current == _T("*"))
{
m_IsPointer = true;
- continue;
+ //continue;
}
- else if ( wxIsalpha(current.GetChar(0))
- && ( (m_Tokenizer.PeekToken() == ParserConsts::semicolon)
- || (m_Tokenizer.PeekToken() == ParserConsts::comma)) )
+ else if ((wxIsalpha(current.GetChar(0)) || current.GetChar(0) == '_') )
{
TRACE(_T("ReadClsNames() : Adding variable '%s' as '%s' to '%s'"),
current.wx_str(),
@@ -2014,6 +2013,7 @@
m_Tokenizer.UngetToken();
break;
}
+
}
}
BTW: Did you notice the similarity between the ReadClsNames() and ReadVarNames() method?
yes.
actually the issue is caused by the ReadClsNames(most) in the typedef handle. :D
the codes below:
- else if ( wxIsalpha(current.GetChar(0))
- && ( (m_Tokenizer.PeekToken() == ParserConsts::semicolon)
- || (m_Tokenizer.PeekToken() == ParserConsts::comma)) )
if you debug,you will find that if condition cannt be got in and cause the infinite loop.
of course the codes have effor on it too.
if (!ancestor.IsEmpty())
ancestor << _T(' ');
- ancestor << token;
- ReadClsNames(ancestor);
Two questions.
1. Global namepace there are problems with the plug-sshot-1.png. This problem has been resolved here:http://forums.codeblocks.org/index.php/topic,11804.msg80702.html#msg80702 (http://forums.codeblocks.org/index.php/topic,11804.msg80702.html#msg80702)
#include <iostream>
#include <windows.h>
#include <winbase.h>
#include <string>
#include <map>
#include <vector>
int main()
{
::
return 0;
}
[attachment deleted by admin]
2. VC project, CPU still 50% overload.
I found here, is not change:
- else if ( wxIsalpha(current.GetChar(0))
- && ( (m_Tokenizer.PeekToken() == ParserConsts::semicolon)
- || (m_Tokenizer.PeekToken() == ParserConsts::comma)) )
+ else if ((wxIsalpha(current.GetChar(0)) || current.GetChar(0) == '_') )
{
TRACE(_T("ReadClsNames() : Adding variable '%s' as '%s' to '%s'"),
current.wx_str(),
@@ -2014,6 +2013,7 @@
m_Tokenizer.UngetToken();
break;
}
+
The code here looks not applied. If you modify the code here, it can solve the CPU overload.
and here:
else if (token == _T("*"))
{
m_IsPointer = false;
continue;
}
else if (peek == ParserConsts::comma)
{
m_Tokenizer.UngetToken();
if (components.size() != 0)
{
wxString ancestor;
while (components.size() > 0)
{
wxString token = components.front();
components.pop();
if (!ancestor.IsEmpty())
ancestor << _T(' ');
ancestor << token;
}
ReadClsNames(ancestor);
}
token variables at different scope, readability is not good.
[attachment deleted by admin]
build 6088: class functions parameters are not parsed anymore :
for example:
spsysModelSystem * xmlInterface::parseSystem(QDomElement element)
{
int i;
systLayout * defaultLayout;
QDomElement defLayoutElmt = element.firstChildElement("systLayout");
....
}
QDomElement class is not recognised anymore for "element"... it worked in previous build...
build 6088: class functions parameters are not parsed anymore :
for example:
spsysModelSystem * xmlInterface::parseSystem(QDomElement element)
{
int i;
systLayout * defaultLayout;
QDomElement defLayoutElmt = element.firstChildElement("systLayout");
....
}
QDomElement class is not recognised anymore for "element"... it worked in previous build...
It works fine here on my own build rev 6091. You can see the screen shot below, with the test code:
class QDomElement
{
public:
int aaaaa;
int bbbbb;
};
spsysModelSystem * xmlInterface::parseSystem(QDomElement element)
{
int i;
systLayout * defaultLayout;
QDomElement defLayoutElmt = element.
}
Edit
See the log of rev 6091 in trunk:
* CC: fixed bug with not parsing function arguments anymore (thanks OllyDbg)
So, I think it has already fixed in the trunk. So you can build your own C::B, or wait a moment for the next nightly build.
[attachment deleted by admin]
@jens and sbezgodov
I read some source code about the m_IsLocal.
void ParserThread::HandleIncludes()
{
wxString filename;
bool isGlobal = !m_IsLocal;
wxString token = m_Tokenizer.GetToken();
// now token holds something like:
// "someheader.h"
// < and will follow iostream.h, >
if (TestDestroy())
return;
if (!token.IsEmpty())
{
if (token.GetChar(0) == '"')
{
// "someheader.h"
// don't use wxString::Replace(); it's too costly
size_t pos = 0;
while (pos < token.Length())
{
wxChar c = token.GetChar(pos);
if (c != _T('"'))
filename << c;
++pos;
}
}
else if (token.GetChar(0) == '<')
{
isGlobal = true;
// next token is filename, next is . (dot), next is extension
// basically we'll loop until >
while (1)
{
token = m_Tokenizer.GetToken();
if (token.IsEmpty())
break;
if (token.GetChar(0) != '>')
filename << token;
else
break;
}
}
}
if (!filename.IsEmpty())
{
TRACE(F(_T("HandleIncludes() : Found include file '%s'"), filename.wx_str()));
do
{
// setting all #includes as global
// it's amazing how many projects use #include "..." for global headers (MSVC mainly - booh)
isGlobal = true;
if (!(isGlobal ? m_Options.followGlobalIncludes : m_Options.followLocalIncludes))
break; // Nothing to do!
wxString real_filename = m_pParent->GetFullFileName(m_Filename, filename, isGlobal);
// Parser::GetFullFileName is thread-safe :)
if (real_filename.IsEmpty())
break; // File not found, do nothing.
{
wxCriticalSectionLocker lock(s_MutexProtection);
if (m_pTokensTree->IsFileParsed(real_filename))
break; // Already being parsed elsewhere
}
TRACE(F(_T("HandleIncludes() : Adding include file '%s'"), real_filename.wx_str()));
// since we 'll be calling directly the parser's method, let's make it thread-safe
{
wxCriticalSectionLocker lock2(s_mutexListProtection);
m_pParent->DoParseFile(real_filename, isGlobal);
}
} while (false);
}
}
So, most Tokens in header files should be global (not local), only files belong to the workspace is local. Is there something wrong in handling include files?...
I think I found the cause for the local workspace bug, this patch should correct it:
--- tmp/tmpVBbR0I-meld/parser.cpp
+++ home/jens/codeblocks-build/codeblocks.trunk/src/plugins/codecompletion/parser/parser.cpp
@@ -964,7 +964,7 @@
return;
LoaderBase* loader = 0; // defer loading until later
- Parse(filename, isGlobal, loader);
+ Parse(filename, !isGlobal, loader);
}
void Parser::StartStopWatch()
The old line was:
Parse(filename, flags == 0, loader); // isLocal = (flags==0)
@Morten:
please have a look.
SVN6110, wxSmith
..\..\..\include\cbstyledtextctrl.h|9|error: wx/wxscintilla.h: No such file or directory|
lost search path
..\..\..\sdk\wxscintilla\include
wxSmith - Aui
D:\CodeBlocks\src\plugins\contrib\wxSmithAui\wxSmithAui.cpp|1|warning: ..\..\..\include/sdk.h.gch: not used because `CB_PRECOMP' not defined|
Hi, Morten, can you apply of the temporary font patch?
Index: app.cpp
===================================================================
--- app.cpp (revision 6112)
+++ app.cpp (working copy)
@@ -675,6 +675,17 @@
}
Manager::ProcessPendingEvents();
+#ifdef __WXMSW__
+ wxString fontPath = GetAppPath() + _T("/share/CodeBlocks/fonts/*.*");
+ wxString font = wxFindFirstFile(fontPath);
+ while (!font.IsEmpty())
+ {
+ ::AddFontResource(font);
+ font = wxFindNextFile();
+ }
+ ::SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
+#endif
+
// finally, show the app
splash.Hide();
SetTopWindow(frame);
@@ -733,6 +744,17 @@
// ultimate shutdown...
Manager::Free();
+#ifdef __WXMSW__
+ wxString fontPath = GetAppPath() + _T("/share/CodeBlocks/fonts/*.*");
+ wxString font = wxFindFirstFile(fontPath);
+ while (!font.IsEmpty())
+ {
+ ::RemoveFontResource(font);
+ font = wxFindNextFile();
+ }
+ ::SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
+#endif
+
// WX docs say that this function's return value is ignored,
// but we return our value anyway. It might not be ignored at some point...
return m_Batch ? m_BatchExitCode : 0;
[attachment deleted by admin]
Can you make automatic addition of closing brace (`}`) only after pressing Enter, because in the following situation I need to delete it:
Before modification of code:
if(something)
doSomething();
After modification of code:
if(something)
{// I printer opening brace and now I need to delete closing brace - because I want to use doSomething(); function in braces
} doSomething();
Though I need the next:
if(something)
{// I pressed enter after `if(something)` and printed opening brace only (editor doesn't know about doSomething(); function - is it must be in braces or no - I will specify it later)
doSomething();
The closing brace I will print when needed (i.e. I will show the editor where it is required to place).
If I press Enter after `{` the closing brace can appear:
if(something)
{
// I pressed enter after opening brace (i.e. I don't want doSomething(); function to be in braces)
}
doSomething();
And else - if I printed opening brace on the same line with doSomething() function and then pressed enter the following will be correct:
if(something)
{
doSomething();
}
About classes: closing brace of classes and structs must be followed with `;`. Not it isn't.
I almost always use Custom Makefile option enabled (for Qt projects) and when I rebuild project the following take place:
-------------- Clean: Debug in ExceptionViewer ---------------
mingw32-make.exe -f Makefile.Release clean
mingw32-make.exe -f Makefile.Debug clean
mingw32-make.exe -f Makefile.Debug
mingw32-make.exe[1]: Entering directory `D:/dev/projects/vvts3/arm/ExceptionViewer'
del obj\Debug\moc\moc_exception_viewer.cpp
mingw32-make.exe[1]: Entering directory `D:/dev/projects/vvts3/arm/ExceptionViewer'
del obj\Debug\moc\moc_exception_viewer.cpp
del obj\Debug\uic\ui_except_dlg.h
del obj\Debug\except_dlg.o obj\Debug\exception_viewer.o obj\Debug\main.o obj\Debug\moc_exception_viewer.o
del obj\Debug\uic\ui_except_dlg.h
mingw32-make.exe[1]: Leaving directory `D:/dev/projects/vvts3/arm/ExceptionViewer'
del obj\Debug\except_dlg.o obj\Debug\exception_viewer.o obj\Debug\main.o obj\Debug\moc_exception_viewer.o
mingw32-make.exe[1]: Entering directory `D:/dev/projects/vvts3/arm/ExceptionViewer'
d:\bin\dev\libs\qt\4.5.0\bin\uic.exe ..\..\..\..\our_libs\arm_kit\src\arm_kit\except_dlg.ui -o obj\Debug\uic\ui_except_dlg.h
g++ -c -Wall -g -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_THREAD_SUPPORT -I"d:\bin\dev\libs\qt\4.5.0\include" -I"..\..\..\..\our_libs\arm_kit\src" -I"d:\bin\dev\libs\Qt\4.5.0\include" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtCore" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtGui" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtXml" -I"d:\bin\dev\libs\qt\4.5.0\include\ActiveQt" -I"obj\Debug\moc" -I"obj\Debug\uic" -I"d:\bin\dev\libs\qt\4.5.0\mkspecs\default" -o obj\Debug\except_dlg.o ..\..\..\..\our_libs\arm_kit\src\arm_kit\except_dlg.cpp
mingw32-make.exe[1]: Leaving directory `D:/dev/projects/vvts3/arm/ExceptionViewer'
g++ -c -Wall -g -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_THREAD_SUPPORT -I"d:\bin\dev\libs\qt\4.5.0\include" -I"..\..\..\..\our_libs\arm_kit\src" -I"d:\bin\dev\libs\Qt\4.5.0\include" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtCore" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtGui" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtXml" -I"d:\bin\dev\libs\qt\4.5.0\include\ActiveQt" -I"obj\Debug\moc" -I"obj\Debug\uic" -I"d:\bin\dev\libs\qt\4.5.0\mkspecs\default" -o obj\Debug\exception_viewer.o exception_viewer.cpp
g++ -c -Wall -g -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_THREAD_SUPPORT -I"d:\bin\dev\libs\qt\4.5.0\include" -I"..\..\..\..\our_libs\arm_kit\src" -I"d:\bin\dev\libs\Qt\4.5.0\include" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtCore" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtGui" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtXml" -I"d:\bin\dev\libs\qt\4.5.0\include\ActiveQt" -I"obj\Debug\moc" -I"obj\Debug\uic" -I"d:\bin\dev\libs\qt\4.5.0\mkspecs\default" -o obj\Debug\main.o main.cpp
D:/bin/dev/libs/qt/4.5.0/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_THREAD_SUPPORT -I"d:\bin\dev\libs\qt\4.5.0\include" -I"..\..\..\..\our_libs\arm_kit\src" -I"d:\bin\dev\libs\Qt\4.5.0\include" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtCore" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtGui" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtXml" -I"d:\bin\dev\libs\qt\4.5.0\include\ActiveQt" -I"obj\Debug\moc" -I"obj\Debug\uic" -I"d:\bin\dev\libs\qt\4.5.0\mkspecs\default" -D__GNUC__ -DWIN32 exception_viewer.h -o obj\Debug\moc\moc_exception_viewer.cpp
g++ -c -Wall -g -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_THREAD_SUPPORT -I"d:\bin\dev\libs\qt\4.5.0\include" -I"..\..\..\..\our_libs\arm_kit\src" -I"d:\bin\dev\libs\Qt\4.5.0\include" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtCore" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtGui" -I"d:\bin\dev\libs\Qt\4.5.0\include\QtXml" -I"d:\bin\dev\libs\qt\4.5.0\include\ActiveQt" -I"obj\Debug\moc" -I"obj\Debug\uic" -I"d:\bin\dev\libs\qt\4.5.0\mkspecs\default" -o obj\Debug\moc_exception_viewer.o obj\Debug\moc\moc_exception_viewer.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -mthreads -Wl -o bin\Debug\ExceptionViewer.exe obj/Debug/except_dlg.o obj/Debug/exception_viewer.o obj/Debug/main.o obj/Debug/moc_exception_viewer.o -L"d:\bin\dev\libs\qt\4.5.0\lib" -LD:\bin\dev\libs\Qt\4.5.0\lib -lQtCore4 -lQtGui4 -lQtXml4
mingw32-make.exe[1]: Leaving directory `D:/dev/projects/vvts3/arm/ExceptionViewer'
:\dev\projects\vvts3\arm\ExceptionViewer\obj\Debug\moc\moc_exception_viewer.cpp
:\dev\projects\vvts3\arm\ExceptionViewer\obj\Debug\uic\ui_except_dlg.h
:\dev\projects\vvts3\arm\ExceptionViewer\obj\Debug\except_dlg.o
exception_viewer.cpp: In member function `void arm::ExceptionViewer::onReadyRead()':
exception_viewer.cpp:39: warning: unused variable 'quitter'
Cleaned "ExceptionViewer - Debug"
-------------- Build: Debug in ExceptionViewer ---------------
Target is up to date.
Nothing to be done.
Build log appears in the `clean` section. Is it a bug? And else, C::B is freezed when rebuilding from begining of `clean` section till begining of `build` section, that is all time of rebuild process. When it became normal (not freezed) all log text appears and in build section - `nothing to be done`.