summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-07 14:06:47 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1998-06-07 14:06:47 +0000
commit7e87204ad6c289322ce6df1f40d0a5a958023bbb (patch)
treee1af6b194df0278f71aa8c64fb8d02ade641e69d /gcc
parent40eb09158e51dd1a1a78e87268b72446fa9cbeae (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/LANGUAGES4
-rw-r--r--gcc/c-lang.c5
-rw-r--r--gcc/objc/objc-act.c5
-rw-r--r--gcc/toplev.c27
-rw-r--r--gcc/tree.h3
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. */