diff options
author | Neil Booth <neil@daikokuya.co.uk> | 2003-06-08 07:54:10 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2003-06-08 07:54:10 +0000 |
commit | 35399bdca9aeeaf8c7b0709c7767c79504944fa7 (patch) | |
tree | f974599ae367c3af58eeec4d6ed163ceb9b16557 /gcc | |
parent | 8eb6a092cabdf4dbf91224ed32b63935a30766dd (diff) | |
download | gcc-35399bdca9aeeaf8c7b0709c7767c79504944fa7.zip gcc-35399bdca9aeeaf8c7b0709c7767c79504944fa7.tar.gz gcc-35399bdca9aeeaf8c7b0709c7767c79504944fa7.tar.bz2 |
Makefile.in: Rename options.c and options.h to c-options.c and c-options.h.
* Makefile.in: Rename options.c and options.h to c-options.c and
c-options.h.
(OBJS): Remove options.o.
* c-opts.c: Don'tInclude c-options.h instead of options.h.
* opts.c: Don't include options.h.
(find_opt): Can't use enum opt_code or N_OPTS.
* opts.h (struct cl_option, cl_options, cl_options_count): Move from...
* opts.sh: ... here.
From-SVN: r67615
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/c-opts.c | 2 | ||||
-rw-r--r-- | gcc/opts.c | 17 | ||||
-rw-r--r-- | gcc/opts.h | 10 | ||||
-rw-r--r-- | gcc/opts.sh | 9 |
5 files changed, 32 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4bddae4..dfe0b20 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2003-06-08 Neil Booth <neil@daikokuya.co.uk> + + * Makefile.in: Rename options.c and options.h to c-options.c and + c-options.h. + (OBJS): Remove options.o. + * c-opts.c: Don'tInclude c-options.h instead of options.h. + * opts.c: Don't include options.h. + (find_opt): Can't use enum opt_code or N_OPTS. + * opts.h (struct cl_option, cl_options, cl_options_count): Move from... + * opts.sh: ... here. + 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr> Ulrich Weigand <Ulrich.Weigand@de.ibm.com> diff --git a/gcc/c-opts.c b/gcc/c-opts.c index 75078b5..43057ab 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -36,7 +36,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "c-incpath.h" #include "debug.h" /* For debug_hooks. */ #include "opts.h" -#include "options.h" +#include "c-options.h" #ifndef DOLLARS_IN_IDENTIFIERS # define DOLLARS_IN_IDENTIFIERS true @@ -26,9 +26,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "tree.h" #include "langhooks.h" #include "opts.h" -#include "options.h" -static enum opt_code find_opt (const char *, int); +static size_t find_opt (const char *, int); /* Perform a binary search to find which option the command-line INPUT matches. Returns its index in the option array, and N_OPTS on @@ -41,16 +40,16 @@ static enum opt_code find_opt (const char *, int); doesn't match any alternatives for the true front end, the index of the matched switch is returned anyway. The caller should check for this case. */ -static enum opt_code +static size_t find_opt (const char *input, int lang_mask) { size_t md, mn, mx; size_t opt_len; - enum opt_code result = N_OPTS; + size_t result = cl_options_count; int comp; mn = 0; - mx = N_OPTS; + mx = cl_options_count; while (mx > mn) { @@ -84,7 +83,7 @@ find_opt (const char *input, int lang_mask) /* If subsequently we don't find a better match, return this and let the caller report it as a bad match. */ - result = (enum opt_code) md; + result = md; continue; } @@ -97,7 +96,7 @@ find_opt (const char *input, int lang_mask) return the longest valid option-accepting match (mx). This loops at most twice with current options. */ mx = md; - for (md = md + 1; md < N_OPTS; md++) + for (md = md + 1; md < cl_options_count; md++) { opt_len = cl_options[md].opt_len; if (strncmp (input, cl_options[md].opt_text, opt_len)) @@ -137,7 +136,7 @@ handle_option (int argc, char **argv, int lang_mask) /* Interpret "-" or a non-switch as a file name. */ if (opt[0] != '-' || opt[1] == '\0') { - opt_index = N_OPTS; + opt_index = cl_options_count; arg = opt; result = 1; } @@ -159,7 +158,7 @@ handle_option (int argc, char **argv, int lang_mask) /* Skip over '-'. */ opt_index = find_opt (opt + 1, lang_mask); - if (opt_index == N_OPTS) + if (opt_index == cl_options_count) goto done; option = &cl_options[opt_index]; @@ -23,6 +23,16 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA extern int handle_option (int argc, char **argv, int lang_mask); +struct cl_option +{ + const char *opt_text; + unsigned char opt_len; + unsigned char flags; +}; + +extern const struct cl_option cl_options[]; +extern const unsigned int cl_options_count; + #define CL_C (1 << 0) /* Only C. */ #define CL_OBJC (1 << 1) /* Only ObjC. */ #define CL_CXX (1 << 2) /* Only C++. */ diff --git a/gcc/opts.sh b/gcc/opts.sh index bc90150..1ce8c4a 100644 --- a/gcc/opts.sh +++ b/gcc/opts.sh @@ -61,15 +61,10 @@ cat "$@" | ${AWK} ' FS = "\034" print "/* This file is auto-generated by opts.sh. */\n" > h_file print "/* This file is auto-generated by opts.sh. */\n" > c_file - print "struct cl_option\n{" >> h_file - print " const char *opt_text;" >> h_file - print " unsigned char opt_len;" >> h_file - print " unsigned char flags;" >> h_file - print "};\n\n" >> h_file - print "extern const struct cl_option cl_options[];\n" >> h_file print "enum opt_code\n{" >> h_file - print "#include \"options.h\"" >> c_file + print "#include \"" h_file "\"" >> c_file print "#include \"opts.h\"\n" >> c_file + print "const unsigned int cl_options_count = N_OPTS;\n" >> c_file print "const struct cl_option cl_options[] =\n{" >> c_file } |