c-opts.c (lang_flags): Update for new spelling of flags.

* c-opts.c (lang_flags): Update for new spelling of flags.
	(write_langs): Similarly.
	* c.opt: Specify languages.
	* opts.h: Remove languages.
	* opts.sh: Recognise front-end defined languages.
ada:
	* lang.opt: Declare Ada.
	* misc.c (gnat_init_options): Update.
doc:
	* sourcebuild.texi: Update.
f:
	* lang.opt: Declare F77.
java:
	* lang.opt: Declare Java.
	* lang.c (java_init_options): Update.
treelang:
	* lang.opt: Declare Treelang.  Update.
	* tree1.c (treelang_init_options): Update.

From-SVN: r67976
This commit is contained in:
Neil Booth 2003-06-15 14:56:32 +00:00 committed by Neil Booth
parent 4682ae0463
commit be43ab4e01
17 changed files with 103 additions and 132 deletions

View File

@ -1,3 +1,13 @@
2003-06-15 Neil Booth <neil@daikokuya.co.uk>
* c-opts.c (lang_flags): Update for new spelling of flags.
(write_langs): Similarly.
* c.opt: Specify languages.
* opts.h: Remove languages.
* opts.sh: Recognise front-end defined languages.
doc:
* sourcebuild.texi: Update.
2003-06-15 Andreas Jaeger <aj@suse.de>
* alloc-pool.c: Convert to ISO C90 prototypes.

View File

@ -1,3 +1,8 @@
2003-06-15 Neil Booth <neil@daikokuya.co.uk>
* lang.opt: Declare Ada.
* misc.c (gnat_init_options): Update.
2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
* utils.c (begin_subprog_body): Adjust init_function_start call.

View File

@ -18,29 +18,13 @@
; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
; 02111-1307, USA.
; This file is processed by the script opts.sh. It is a database of
; command line options, with each record separated by a blank line,
; and each field appearing on its own line. The first field is the
; command-line switch with the leading "-" removed. All options
; beginning with "f" or "W" are implicitly assumed to take a "no-"
; form; this form should not be listed. If you do not want this
; negative form and you want it to be automatically rejected, add
; RejectNegative to the second field.
; The second field should contain "Ada". If the switch takes an
; argument, then you should also specify "Joined" and/or "Separate" to
; indicate where the argument can appear.
; Comments can appear on their own line anwhere in the file, preceded
; by a semicolon. Whitespace is permitted before the semicolon.
; For each switch XXX below, an enumeration constant is created by the
; script opts.sh spelt OPT_XXX, but with all non-alphanumeric
; characters replaced with an underscore.
; See c.opt for a description of this file's format.
; Please try to keep this file in ASCII collating order.
Language
Ada
I
Ada Joined Separate

View File

@ -294,7 +294,7 @@ gnat_init_options ()
gnat_argv[0] = save_argv[0]; /* name of the command */
gnat_argc = 1;
return CL_ADA;
return CL_Ada;
}
/* Here is the function to handle the compiler error processing in GCC. */

View File

@ -50,7 +50,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
# define TARGET_EBCDIC 0
#endif
static const int lang_flags[] = {CL_C, CL_OBJC, CL_CXX, CL_OBJCXX};
static const int lang_flags[] = {CL_C, CL_ObjC, CL_CXX, CL_ObjCXX};
static int saved_lineno;
@ -1537,7 +1537,7 @@ write_langs (buf, flags)
*buf = '\0';
if (flags & CL_C)
strcat (buf, "C");
if (flags & CL_OBJC)
if (flags & CL_ObjC)
{
if (*buf)
strcat (buf, "/");

View File

@ -29,10 +29,10 @@
; RejectNegative to the second field.
; The second field is a space-separated list of which parts of the
; compiler recognize the switch. Current valid entries are "C",
; "ObjC", "C++" and "ObjC++". If the switch takes an argument, then
; you should also specify "Joined" and/or "Separate" to indicate where
; the argument can appear.
; compiler recognize the switch, as declared by "Language" entries.
; If the switch takes an argument, then you should also specify
; "Joined" and/or "Separate" to indicate where the argument can
; appear.
; Comments can appear on their own line anwhere in the file, preceded
; by a semicolon. Whitespace is permitted before the semicolon.
@ -43,6 +43,18 @@
; Please try to keep this file in ASCII collating order.
Language
C
Language
ObjC
Language
C++
Language
ObjC++
-help
C ObjC C++ ObjC++

View File

@ -450,9 +450,6 @@ Details of source file suffixes for that language and @option{-x
Entries in @code{default_compilers} in @file{gcc.c} for source file
suffixes for that language.
@item
A bitmask in @file{opts.h} that flags each switch accepted by
the front end, for example @code{CL_JAVA}.
@item
Preferably test suites, which may be under @file{gcc/testsuite} or
runtime library directories. FIXME: document somewhere how to write
test suite harnesses.
@ -605,9 +602,8 @@ Move to the stage directory files not included in @code{stagestuff} in
@item lang.opt
This file registers the set of switches that the front end accepts on
the command line. The file format is documented in each
@file{lang.opt} file in the GCC tree. @file{lang.opt} is processed
by the script @file{opts.sh}.
the command line. The file format is documented in the file
@file{c.opt}. These files are processed by the script @file{opts.sh}.
@item lang-options.h
This file provides entries for @code{documented_lang_options} in
@file{toplev.c} describing command-line options the front end accepts

View File

@ -1,3 +1,7 @@
Sun Jun 15 15:56:51 2003 Neil Booth <neil@daikokuya.co.uk>
* lang.opt: Declare F77.
Sat Jun 14 18:13:00 2003 Nathan Sidwell <nathan@codesourcery.com>
* com.c (stor_parm_decls): Adjust init_function_start call.

View File

@ -18,29 +18,13 @@
; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
; 02111-1307, USA.
; This file is processed by the script opts.sh. It is a database of
; command line options, with each record separated by a blank line,
; and each field appearing on its own line. The first field is the
; command-line switch with the leading "-" removed. All options
; beginning with "f" or "W" are implicitly assumed to take a "no-"
; form; this form should not be listed. If you do not want this
; negative form and you want it to be automatically rejected, add
; RejectNegative to the second field.
; The second field should contain "F77". If the switch takes an
; argument, then you should also specify "Joined" and/or "Separate" to
; indicate where the argument can appear.
; Comments can appear on their own line anwhere in the file, preceded
; by a semicolon. Whitespace is permitted before the semicolon.
; For each switch XXX below, an enumeration constant is created by the
; script opts.sh spelt OPT_XXX, but with all non-alphanumeric
; characters replaced with an underscore.
; See c.opt for a description of this file's format.
; Please try to keep this file in ASCII collating order.
Language
F77
I
F77 Joined

View File

@ -1,3 +1,8 @@
2003-06-15 Neil Booth <neil@daikokuya.co.uk>
* lang.opt: Declare Java.
* lang.c (java_init_options): Update.
2003-06-15 Neil Booth <neil@daikokuya.co.uk>
* lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.

View File

@ -695,7 +695,7 @@ java_init_options (void)
jcf_path_init ();
return CL_JAVA;
return CL_Java;
}
static bool

View File

@ -18,29 +18,13 @@
; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
; 02111-1307, USA.
; This file is processed by the script opts.sh. It is a database of
; command line options, with each record separated by a blank line,
; and each field appearing on its own line. The first field is the
; command-line switch with the leading "-" removed. All options
; beginning with "f" or "W" are implicitly assumed to take a "no-"
; form; this form should not be listed. If you do not want this
; negative form and you want it to be automatically rejected, add
; RejectNegative to the second field.
; The second field should contain "Java". If the switch takes an
; argument, then you should also specify "Joined" and/or "Separate" to
; indicate where the argument can appear.
; Comments can appear on their own line anwhere in the file, preceded
; by a semicolon. Whitespace is permitted before the semicolon.
; For each switch XXX below, an enumeration constant is created by the
; script opts.sh spelt OPT_XXX, but with all non-alphanumeric
; characters replaced with an underscore.
; See c.opt for a description of this file's format.
; Please try to keep this file in ASCII collating order.
Language
Java
I
Java Joined

View File

@ -33,18 +33,9 @@ struct cl_option
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++. */
#define CL_OBJCXX (1 << 3) /* Only ObjC++. */
#define CL_F77 (1 << 4) /* Only Fortran. */
#define CL_JAVA (1 << 5) /* Only Java. */
#define CL_ADA (1 << 6) /* Only Ada. */
#define CL_TREELANG (1 << 7) /* Only Treelang. */
#define CL_COMMON (1 << 8) /* Language-independent. */
#define CL_JOINED (1 << 24) /* If takes joined argument. */
#define CL_SEPARATE (1 << 25) /* If takes a separate argument. */
#define CL_REJECT_NEGATIVE (1 << 26) /* Reject no- form. */
#define CL_COMMON (1 << 27) /* Language-independent. */
#endif

View File

@ -42,37 +42,38 @@ ${AWK} '
/^[ \t]*(;|$)/ { next }
/^[^ \t]/ { gsub ("\n", "\034", $0); print }
' "$@" | ${SORT} | ${AWK} '
function switch_flags (langs, flags)
function switch_flags (flags, result)
{
langs = ":" langs ":"
gsub( " ", ":", langs)
flags = "0"
if (langs ~ ":C:") flags = flags " | CL_C"
if (langs ~ ":ObjC:") flags = flags " | CL_OBJC"
if (langs ~ ":C\\+\\+:") flags = flags " | CL_CXX"
if (langs ~ ":ObjC\\+\\+:") flags = flags " | CL_OBJCXX"
if (langs ~ ":F77:") flags = flags " | CL_F77"
if (langs ~ ":Java:") flags = flags " | CL_JAVA"
if (langs ~ ":Ada:") flags = flags " | CL_ADA"
if (langs ~ ":Tree:") flags = flags " | CL_TREELANG"
if (langs ~ ":Common:") flags = flags " | CL_COMMON"
if (langs ~ ":Joined:") flags = flags " | CL_JOINED"
if (langs ~ ":Separate:") flags = flags " | CL_SEPARATE"
if (langs ~ ":RejectNegative:") flags = flags " | CL_REJECT_NEGATIVE"
sub( "^0 \\| ", "", flags )
return flags
flags = " " flags " "
result = "0"
for (j = 0; j < n_langs; j++) {
if (flags ~ " " langs[j] " ")
result = result " | " macros[j]
}
if (flags ~ " Common ") result = result " | CL_COMMON"
if (flags ~ " Joined ") result = result " | CL_JOINED"
if (flags ~ " Separate ") result = result " | CL_SEPARATE"
if (flags ~ " RejectNegative ") result = result " | CL_REJECT_NEGATIVE"
sub( "^0 \\| ", "", result )
return result
}
BEGIN {
FS = "\034"
n_opts = 0
n_langs = 0
}
# Collect the text and flags of each option into an array
{
opts[n_opts] = $1
flags[n_opts] = $2
n_opts++;
if ($1 == "Language") {
langs[n_langs] = $2
n_langs++;
} else {
opts[n_opts] = $1
flags[n_opts] = $2
n_opts++;
}
}
# Dump out an enumeration into a .h file, and an array of options into a
@ -83,7 +84,13 @@ ${AWK} '
comma = ","
print "/* This file is auto-generated by opts.sh. */\n" > h_file
print "enum opt_code\n{" >> h_file
for (i = 0; i < n_langs; i++) {
macros[i] = "CL_" langs[i]
gsub( "[^A-Za-z0-9_]", "X", macros[i] )
s = substr(" ", length (macros[i]))
print "#define " macros[i] s " (1 << " i ")" >> h_file
}
print "\nenum opt_code\n{" >> h_file
print "/* This file is auto-generated by opts.sh. */\n" > c_file
print "#include \"" h_file "\"" >> c_file

View File

@ -1,3 +1,8 @@
2003-06-15 Neil Booth <neil@daikokuya.co.uk>
* lang.opt: Declare Treelang. Update.
* tree1.c (treelang_init_options): Update.
2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
* treetree.c (tree_code_create_function_initial): Adjust

View File

@ -18,42 +18,26 @@
; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
; 02111-1307, USA.
; This file is processed by the script opts.sh. It is a database of
; command line options, with each record separated by a blank line,
; and each field appearing on its own line. The first field is the
; command-line switch with the leading "-" removed. All options
; beginning with "f" or "W" are implicitly assumed to take a "no-"
; form; this form should not be listed. If you do not want this
; negative form and you want it to be automatically rejected, add
; RejectNegative to the second field.
; The second field should contain "Tree". If the switch takes an
; argument, then you should also specify "Joined" and/or "Separate" to
; indicate where the argument can appear.
; Comments can appear on their own line anwhere in the file, preceded
; by a semicolon. Whitespace is permitted before the semicolon.
; For each switch XXX below, an enumeration constant is created by the
; script opts.sh spelt OPT_XXX, but with all non-alphanumeric
; characters replaced with an underscore.
; See c.opt for a description of this file's format.
; Please try to keep this file in ASCII collating order.
Language
Treelang
-help
Tree
Treelang
flexer-trace
Tree
Treelang
fparser-trace
Tree
Treelang
v
Tree
Treelang
y
Tree
Treelang
; This comment is to ensure we retain the blank line above.

View File

@ -92,7 +92,7 @@ static unsigned int work_nesting_level = 0;
int
treelang_init_options (void)
{
return CL_TREELANG;
return CL_Treelang;
}
/* Process a switch - called by opts.c. */