From b53beeb2916a20b2e96f71510dc1232592a4271f Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 7 Jun 1998 07:06:47 -0700 Subject: [PATCH] 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 --- gcc/ChangeLog | 11 ++++++++++- gcc/LANGUAGES | 4 ++++ gcc/c-lang.c | 5 +++++ gcc/objc/objc-act.c | 5 +++++ gcc/toplev.c | 27 ++++----------------------- gcc/tree.h | 3 +++ 6 files changed, 31 insertions(+), 24 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d993222..b495207 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +Sun Jun 7 14:02:58 1998 Richard Henderson + + * 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 * rs6000.md (restore_stack_block): Generate MEM and specify mode. @@ -1945,7 +1954,7 @@ Sun May 3 23:57:25 1998 Robert Lipe (xm_defines): Add USG so dbxout will build. * configure: Regenerate. -Sun May 3 13:51:34 PDT 1998 Richard Henerson +Sun May 3 13:51:34 PDT 1998 Richard Henderson 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 544e12b..a72b9e0 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 ca1e9fe..ebba191 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 b7165df..b7bbd62 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 ecd11f9..60cbc6a 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 9549d23..820e071 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. */ -- 2.7.4