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

XML based compilers

<< < (12/41) > >>

Alpha:
Patch available (against XML branch).

Changed:

* New <if> statement directive (if the compiler is detected, some flags are now hidden based on version)
* Modified compiler id creation (will break .cbp's using arm, avr, msp430, ppc, or tricore)
* Some dialog tidying
* Files of the same weight are compiled alphabetically
* Improve MSVC2010 sdk auto-detection
* Moved EvalXMLCondition() back to Compiler
* Enumerated some ARM flags

Alpha:
Documentation updated.

MortenMacFly:

--- Quote from: Alpha on July 12, 2012, 01:51:10 pm ---They would still remain virtual

--- Code: ---virtual void Reset();
--- End code ---
just not pure vitrual

--- Code: ---virtual void Reset() = 0;
--- End code ---

--- End quote ---
Ah - that makes sense, sure.


--- Quote from: Alpha on July 12, 2012, 01:51:10 pm ---By almost, I mean all of the LoadDefaultRegExArray() look like
[...]
and most of the Reset() look like

--- End quote ---
Yes, is seems feasible that they are in base now. Maybe we can do it even easier: Reset calls ResetPrivate() which is the virtual method you need to override if you need to do something special and in its default implementation it does nothing (same for LoadXXX). This way, compilers were "forced" to use the default "Reset" (which is good I think) but still can do something special. To soften the requirements we could stick with the virtual Reset method. Although it would be not too bad to make Reset even non-virtual and protected in that case.

What do you think?

MortenMacFly:

--- Quote from: Alpha on July 12, 2012, 03:27:09 pm ---Patch available (against XML branch).

--- End quote ---
For the record: Applies flawlessly in the branch. Nice! (Not compiled in / tested though...)

Edit: I see the compilers individual code really shrinks... nice! :-)

MortenMacFly:
One first feedback:
When running with debug log (and therefore warnings) enabled, now I get tons of warnings, that the command issued to detect the compiler could not be executed.

You should either disable logging for this step (http://docs.wxwidgets.org/2.8/wx_wxlognull.html), or check if the executable really exists before running the command. In the latter case make sure you account for possible macros.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version