toplev.c (flag_exceptions): Default to 0.

* toplev.c (flag_exceptions): Default to 0.
        (compile_file): Remove flag_exceptions == 2 hack.
        (main): Call lang_init_options.
        * tree.h: Declare it.
        * c-lang.c: Implement it.
        * objc/objc-act.c: Likewise.

From-SVN: r20274
This commit is contained in:
Richard Henderson 1998-06-07 07:06:47 -07:00 committed by Richard Henderson
parent 874503bcad
commit b53beeb291
6 changed files with 31 additions and 24 deletions

View File

@ -1,3 +1,12 @@
Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
* toplev.c (flag_exceptions): Default to 0.
(compile_file): Remove flag_exceptions == 2 hack.
(main): Call lang_init_options.
* tree.h: Declare it.
* c-lang.c: Implement it.
* objc/objc-act.c: Likewise.
Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000.md (restore_stack_block): Generate MEM and specify mode.
@ -1945,7 +1954,7 @@ Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
(xm_defines): Add USG so dbxout will build.
* configure: Regenerate.
Sun May 3 13:51:34 PDT 1998 Richard Henerson <rth@cygnus.com>
Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com>
Support for official Sparc V9 ABI:
* sparc.c (sparc_override_options): Force stack bias off for !arch64.

View File

@ -6,6 +6,10 @@ time as we can formally start documenting the interface this file will
serve as a repository for information on these interface and any incompatable
changes we've made.
Jun 7, 1998:
Front-ends must now define lang_init_options. It is safe for this
function to do nothing. See c-lang.c.
Apr 21, 1998:
Front ends which link with c-common or other files from the C/C++
front-ends may need to handle TI types. Look for references to

View File

@ -37,6 +37,11 @@ lang_decode_option (p)
return c_decode_option (p);
}
void
lang_init_options ()
{
}
void
lang_init ()
{

View File

@ -580,6 +580,11 @@ generate_struct_by_value_array ()
exit (0);
}
void
lang_init_options ()
{
}
void
lang_init ()
{

View File

@ -598,7 +598,7 @@ int flag_pic;
/* Nonzero means generate extra code for exception handling and enable
exception handling. */
int flag_exceptions = 2;
int flag_exceptions;
/* Nonzero means don't place uninitialized global data in common storage
by default. */
@ -2416,32 +2416,10 @@ compile_file (name)
input_file_stack->next = 0;
input_file_stack->name = input_filename;
/* Gross. Gross. lang_init is (I think) the first callback into
the language front end, and is thus the first opportunity to
have the selected language override the default value for any
-f option.
So the default value for flag_exceptions is 2 (uninitialized).
If we encounter -fno-exceptions or -fexceptions, then flag_exceptions
will be set to zero or one respectively.
flag_exceptions can also be set by lang_init to something other
than the default "uninitialized" value of 2.
After lang_init, if the value is still 2, then we default to
-fno-exceptions (value will be reset to zero).
When our EH mechanism is low enough overhead that we can enable
it by default for languages other than C++, then all this braindamage
will go away. */
/* Perform language-specific initialization.
This may set main_input_filename. */
lang_init ();
if (flag_exceptions == 2)
flag_exceptions = 0;
/* If the input doesn't start with a #line, use the input name
as the official input file name. */
if (main_input_filename == 0)
@ -3775,6 +3753,9 @@ main (argc, argv, envp)
flag_short_enums = DEFAULT_SHORT_ENUMS;
#endif
/* Perform language-specific options intialization. */
lang_init_options ();
/* Scan to see what optimization level has been specified. That will
determine the default value of many flags. */
for (i = 1; i < argc; i++)

View File

@ -1942,6 +1942,9 @@ extern void dwarf2out_end_epilogue PROTO((void));
/* The language front-end must define these functions. */
/* Function of no arguments for initializing options. */
extern void lang_init_options PROTO((void));
/* Function of no arguments for initializing lexical scanning. */
extern void init_lex PROTO((void));
/* Function of no arguments for initializing the symbol table. */