Inspecting GCC’s command-line options¶
GCC’s command-line options are visible from Python scripts as instances of
gcc.Option
.
-
class
gcc.
Option
¶ Wrapper around one of GCC’s command-line options.
You can locate a specific option using its text attribute:
option = gcc.Option('-Wdiv-by-zero')
The plugin will raise a ValueError if the option is not recognized.
It does not appear to be possible to create new options from the plugin.
-
text
¶ (string) The text used at the command-line to affect this option e.g. -Werror.
-
help
¶ (string) The help text for this option (e.g. “Warn about uninitialized automatic variables”)
-
is_enabled
¶ (bool) Is this option enabled?
Note
Unfortunately, for many options, the internal implementation makes it difficult to extract this. The plugin will raise a NotImplementedError exception when querying this attribute for such an option.
Calling
gcc.warning()
with such an option will lead to GCC’s warning machinery treating the option as enabled and emitting a warning, regardless of whether or not the option was actually enabled.It appears that this must be fixed on an option-by-option basis within the plugin.
-
is_driver
¶ (bool) Is this a driver option?
-
is_optimization
¶ (bool) Does this option control an optimization?
-
is_target
¶ (bool) Is this a target-specific option?
-
is_warning
¶ (bool) Does this option control a warning message?
Internally, the class wraps GCC’s enum opt_code (and thus a struct cl_option)
-
-
gcc.
get_option_list
()¶ Returns a list of all
gcc.Option
instances.
-
gcc.
get_option_dict
()¶ Returns a dictionary, mapping from the option names to
gcc.Option
instances