Pre-Patch RFC: proposed changes to option-lookup
Steven Bosscher
stevenb.gcc@gmail.com
Wed Oct 30 22:16:00 GMT 2013
On Wed, Oct 30, 2013 at 9:39 PM, David Malcolm wrote:
> I want to eliminate hidden use of the preprocessor in our code, in favor
> of using block caps to signal to people reading the code that macro
> magic is happening.
Good idea. In the past this kind of change would be sort-of
controversial (large number of changes for small gain) but if the
whole source code base is being overhauled anyway, it's a good time to
get rid of this black magic at the same time...
> My idea is to introduce a GCC_OPTION macro, and replace the above with:
>
> static bool
> gate_vrp (void)
> {
> return GCC_OPTION (flag_tree_vrp) != 0;
> }
>
> thus signaling to humans that macros are present.
>
> Is such a patch likely to be accepted? Should I try to break the
> options up into logical groups e.g. with separate macros for warnings vs
> optimizations, or some other scheme?
Why not just expose the different "classes" of options in some struct or object?
struct {
unsigned tree_vrp : 1;
...
} opt_flags;
struct {
...
} warn_flags;
static bool gate_vrp (void) { return opt_flags.tree_vrp != 0; }
This would also make streaming the flags settings easier for LTO.
Ciao!
Steven
More information about the Gcc-patches
mailing list