Developer forums (C::B DEVELOPMENT STRICTLY!) > Compiler Framework Redesign

New compiler line type: cltInfo

(1/5) > >>

rickg22:
I just discovered a wonderful feature in C::B. It's called "Begin word" search :-P

With it i could finally add the compiler line type "cltInfo" so no info lines will count as warnings. I uploaded a PATCH to berlios.

The reason I didn't commit, is that the compiler, being a critical part of C::B, cannot afford unrevised commits. However, I did test the patch (I compiled C::B, and had to rebuild the entire project around 3 times to make sure it worked properly) and it works wonders.

I added a new info line: "In member function .....:" so that those STL errors can be understood more clearly.

Mind checking it out, everyone??

http://developer.berlios.de/patch/?func=detailpatch&patch_id=2057&group_id=5358

Another thing that worries me, is that saved custom compiler regexes will be altered by the addition of this new line type. I hope it's a marginal case, since not all beta testers will mess up with the compiler parsing... i hope :| - and this is another reason why I didn't commit.

Yiannis, your stance?

MortenMacFly:

--- Quote from: rickg22 on June 16, 2007, 10:26:09 am ---With it i could finally add the compiler line type "cltInfo" so no info lines will count as warnings.

--- End quote ---
Nice Rick! In r4094 I asked myself the question: Why do we actually don't have a cltInfo? A few days later you come up with a patch... I'm shivering... ;-) Anyways - I'm currently compiling C::B with that one incorporated. Thanks!
With regards, Morten.

Edit: First thing I noticed: The changes you made for CompilerMinGW are missing in CompilerGNUARM and CompilerGNUAVR (these are also GNU GCC based) - I'll remember that if we decide to commit the changes.
In addition I realised that in GNUARM the "Instantiated from here" line (as it is currently) has the resource compiler error twice... looks like a copy & paste error (a forgotten linefeed in that line).

rickg22:
Actually there should NOT be an "instantiated from here" regex. Just "instantiated from" because i've gotten errors which mention a class and not just "here". This has to be corrected for all compiler sets.

BTW, here's a small snapshot of a compilation result (not build log, but build MESSAGES) after the patch.

:: === Code::Blocks, sdk ===
G:\MinGw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\stl_list.h:: In constructor `InfoWindow::InfoWindow(const wxString&, const wxString&, unsigned int, unsigned int)':
G:\MinGw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\stl_list.h:435: warning: '__p' might be used uninitialized in this function
G:\MinGw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\stl_list.h:: In constructor `InfoWindow::InfoWindow(const wxString&, const wxString&, unsigned int, unsigned int)':
G:\MinGw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\stl_list.h:435: warning: '__p' might be used uninitialized in this function
:: === Build finished: 0 errors, 2 warnings ===

See? Just 2 warnings, and now we get more info :)

MortenMacFly:

--- Quote from: rickg22 on June 16, 2007, 08:29:53 pm ---Actually there should NOT be an "instantiated from here" regex.

--- End quote ---
It wasn't - don't worry, that was a typo in my post. Hence I have added the same support for the other two GCC compilers in the same style. After testing the patch for the last couple of days I don't see any negative side effects. It looks really nice to have info separated from warnings in the log. So I wouldn't have any objections from my point of view... what about the others testing this?!
With regards, Morten.

rickg22:
the only problem would arise (I think) with people with custom compilers, upgrading from previous installations of Code::Blocks. They'd have to change their compilers, which is why I'm unsure of making this change into the trunk. Perhaps we should add a new popup message (InfoWindow)?

Navigation

[0] Message Index

[#] Next page

Go to full version