aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.co.uk>2003-06-08 07:54:10 +0000
committerNeil Booth <neil@gcc.gnu.org>2003-06-08 07:54:10 +0000
commit35399bdca9aeeaf8c7b0709c7767c79504944fa7 (patch)
treef974599ae367c3af58eeec4d6ed163ceb9b16557 /gcc
parent8eb6a092cabdf4dbf91224ed32b63935a30766dd (diff)
downloadgcc-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/ChangeLog11
-rw-r--r--gcc/c-opts.c2
-rw-r--r--gcc/opts.c17
-rw-r--r--gcc/opts.h10
-rw-r--r--gcc/opts.sh9
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
diff --git a/gcc/opts.c b/gcc/opts.c
index 3d3fa10..0911d38 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -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];
diff --git a/gcc/opts.h b/gcc/opts.h
index 297bd82..0bba52d 100644
--- a/gcc/opts.h
+++ b/gcc/opts.h
@@ -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
}