summaryrefslogtreecommitdiff
path: root/gcc/opts.h
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-01 06:55:47 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-01 06:55:47 +0000
commit7abcc4972f22c3ede227e7053128c07cdf3a00e1 (patch)
tree84536cfc7589dba0e2733eab222c518d135cbf94 /gcc/opts.h
parent3ec8aef1d617142080d12a5498e10284e8221368 (diff)
downloadgcc-7abcc4972f22c3ede227e7053128c07cdf3a00e1.tar.gz
* opts.h (cl_option_state): New structure.
(get_option_state): Declare. * opts.c (get_option_state): New function. * toplev.c (option_affects_pch_p): New function. (default_get_pch_validity): Store the state of all options for which option_affects_pch_p returns true. (default_pch_valid_p): Check the state of those options here. Only check target_flags separately if targetm.check_pch_target_Flags is nonnull or if TARGET_SWITCHES is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100430 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opts.h')
-rw-r--r--gcc/opts.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/opts.h b/gcc/opts.h
index 1794f7b82cc..962b1caeb66 100644
--- a/gcc/opts.h
+++ b/gcc/opts.h
@@ -52,6 +52,14 @@ struct cl_option
int var_value;
};
+/* Records that the state of an option consists of SIZE bytes starting
+ at DATA. DATA might point to CH in some cases. */
+struct cl_option_state {
+ const void *data;
+ size_t size;
+ char ch;
+};
+
extern const struct cl_option cl_options[];
extern const unsigned int cl_options_count;
extern const char *const lang_names[];
@@ -77,6 +85,7 @@ extern unsigned num_in_fnames;
extern void decode_options (unsigned int argc, const char **argv);
extern int option_enabled (int opt_idx);
+extern bool get_option_state (int, struct cl_option_state *);
extern void print_filtered_help (unsigned int);
#endif