diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-06-07 14:06:47 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-06-07 14:06:47 +0000 |
commit | 7e87204ad6c289322ce6df1f40d0a5a958023bbb (patch) | |
tree | e1af6b194df0278f71aa8c64fb8d02ade641e69d | |
parent | 40eb09158e51dd1a1a78e87268b72446fa9cbeae (diff) | |
download | gcc-7e87204ad6c289322ce6df1f40d0a5a958023bbb.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20274 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/LANGUAGES | 4 | ||||
-rw-r--r-- | gcc/c-lang.c | 5 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 5 | ||||
-rw-r--r-- | gcc/toplev.c | 27 | ||||
-rw-r--r-- | gcc/tree.h | 3 |
6 files changed, 31 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d9932227fc8..b4952079543 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/LANGUAGES b/gcc/LANGUAGES index 544e12b4105..a72b9e0c550 100644 --- a/gcc/LANGUAGES +++ b/gcc/LANGUAGES @@ -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 diff --git a/gcc/c-lang.c b/gcc/c-lang.c index ca1e9fef443..ebba1919680 100644 --- a/gcc/c-lang.c +++ b/gcc/c-lang.c @@ -38,6 +38,11 @@ lang_decode_option (p) } void +lang_init_options () +{ +} + +void lang_init () { #if !USE_CPPLIB diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index b7165dfb89b..b7bbd620b25 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -581,6 +581,11 @@ generate_struct_by_value_array () } void +lang_init_options () +{ +} + +void lang_init () { #if !USE_CPPLIB diff --git a/gcc/toplev.c b/gcc/toplev.c index ecd11f9b66a..60cbc6ac24b 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -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++) diff --git a/gcc/tree.h b/gcc/tree.h index 9549d23ba9b..820e071f4d0 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -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. */ |