I have proposal for USER look and feel, e.g. how it could be done, how it will be emplemented up to you
First of all, change checkboxes with comboboxed (err, list with one selection), all current checkboxes can be converted to comboxes with yes/no in them.
This step allow us to group conflicting options to one, e.g. debug symbols format, arch, optimization, etc...
Next, if one value of option disables effect of other options (like -Wall) just make them disabled to indicate them
More, some options possible only for particular language (for example -Wmain issue warning for c++ file), so they must be changeable in setting, but also somehow marked what language they apply to, just as not putting them anyhow to command line for particular compiler
All of this seems not hard to do, but allow more interactivity to compiler option. As a result newbies will better understand what they do.
Also it seems reasonable for setting somewhere to show switches that will be added for particular option value (for real geeks
And the most impossible feature - just allow users to modify options, so they can not only put them in Additional options, but define them and share definition
What do you think about this?