OSDN Git Service

* tree.h (expand_function_end): Remove all parameters.
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2003 09:08:23 +0000 (09:08 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2003 09:08:23 +0000 (09:08 +0000)
* function.c (expand_function_end): Remove all parameters.
Use input_location. Never expand_end_bindings.
* c-decl.c (c_expand_body_1): Adjust expand_function_end call.
* coverage.c (create_coverage): Likewise.

* ada/utils.c (end_subprog_body): Adjust expand_function_end
call.

* cp/semantics.c (genrtl_finish_function): Adjust
expand_function_end call.

* f/com.c (finish_function): Adjust expand_function_end call.

* java/class.c (push_class): Use a location_t to save place.
(emit_register_classes): Set input_location. Adjust
expand_function_end call.
* java/resource.c (write_resource_constructor): Likewise.
* java/decl.c (end_java_method): Adjust expand_function_end call.
* java/parse.y (source_end_java_method): Likewise.

* treelang/treetree.c (tree_code_create_function_wrapup): Adjust
expand_function_end call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68255 138bc75d-0d04-0410-961f-82ee72b054a4

18 files changed:
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/utils.c
gcc/c-decl.c
gcc/coverage.c
gcc/cp/ChangeLog
gcc/cp/semantics.c
gcc/f/ChangeLog
gcc/f/com.c
gcc/function.c
gcc/java/ChangeLog
gcc/java/class.c
gcc/java/decl.c
gcc/java/parse.y
gcc/java/resource.c
gcc/tree.h
gcc/treelang/ChangeLog
gcc/treelang/treetree.c

index 7c40573..ba28ad2 100644 (file)
@@ -1,3 +1,11 @@
+2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree.h (expand_function_end): Remove all parameters.
+       * function.c (expand_function_end): Remove all parameters.
+       Use input_location. Never expand_end_bindings.
+       * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
+       * coverage.c (create_coverage): Likewise.
+
 2003-06-20  Nick Clifton  <nickc@redhat.com>
 
        * doc/extend.texi (ARM Built-in Functions): New node.  Document
index 2ac17b0..1fd2a5b 100644 (file)
@@ -1,3 +1,7 @@
+2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * utils.c (end_subprog_body): Adjust expand_function_end call.
+
 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
 
        * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
index 5eeca2b..186b0fd 100644 (file)
@@ -1801,7 +1801,7 @@ end_subprog_body ()
   /* Mark the RESULT_DECL as being in this subprogram. */
   DECL_CONTEXT (DECL_RESULT (current_function_decl)) = current_function_decl;
 
-  expand_function_end (input_filename, input_line, 0);
+  expand_function_end ();
 
   /* If this is a nested function, push a new GC context.  That will keep
      local variables on the stack from being collected while we're doing
index a33510c..df09840 100644 (file)
@@ -6375,7 +6375,7 @@ c_expand_body_1 (tree fndecl, int nested_p)
     (*lang_expand_function_end) ();
 
   /* Generate rtl for function exit.  */
-  expand_function_end (input_filename, input_line, 0);
+  expand_function_end ();
 
   /* If this is a nested function, protect the local variables in the stack
      above us from being collected while we're compiling this function.  */
index 49cf14a..18614b3 100644 (file)
@@ -866,7 +866,7 @@ create_coverage ()
   emit_library_call (gcov_init_libfunc, LCT_NORMAL, VOIDmode, 1,
                     gcov_info_address, Pmode);
 
-  expand_function_end (input_filename, input_line, 0);
+  expand_function_end ();
   (*lang_hooks.decls.poplevel) (1, 0, 1);
 
   rest_of_compilation (ctor);
index 32532d8..f924112 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * semantics.c (genrtl_finish_function): Adjust
+       expand_function_end call.
+
 2003-06-19  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/10939
index a95c957..bb55b75 100644 (file)
@@ -2542,7 +2542,7 @@ genrtl_finish_function (tree fn)
   immediate_size_expand = 1;
 
   /* Generate rtl for function exit.  */
-  expand_function_end (input_filename, input_line, 0);
+  expand_function_end ();
 
   /* If this is a nested function (like a template instantiation that
      we're compiling in the midst of compiling something else), push a
index 629dc65..916e738 100644 (file)
@@ -1,3 +1,7 @@
+Fri Jun 20 10:00:31 2003  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * com.c (finish_function): Adjust expand_function_end call.
+
 2003-06-17  Nathanael Nerode  <neroden@gcc.gnu.org>
 
        * Make-lang.in: Replace BUILD_CC references with CC_FOR_BUILD.
index aec7ce3..f384439 100644 (file)
@@ -13604,7 +13604,7 @@ finish_function (int nested)
 
       /* Obey `register' declarations if `setjmp' is called in this fn.  */
       /* Generate rtl for function exit.  */
-      expand_function_end (input_filename, input_line, 0);
+      expand_function_end ();
 
       /* If this is a nested function, protect the local variables in the stack
         above us from being collected while we're compiling this function.  */
index 3f79554..175262c 100644 (file)
@@ -6963,17 +6963,10 @@ use_return_register ()
 
 static GTY(()) rtx initial_trampoline;
 
-/* Generate RTL for the end of the current function.
-   FILENAME and LINE are the current position in the source file.
-
-   It is up to language-specific callers to do cleanups for parameters--
-   or else, supply 1 for END_BINDINGS and we will call expand_end_bindings.  */
+/* Generate RTL for the end of the current function. */
 
 void
-expand_function_end (filename, line, end_bindings)
-     const char *filename;
-     int line;
-     int end_bindings;
+expand_function_end ()
 {
   tree link;
   rtx clobber_after;
@@ -7099,7 +7092,7 @@ expand_function_end (filename, line, end_bindings)
 
   /* Output a linenumber for the end of the function.
      SDB depends on this.  */
-  emit_line_note_force (filename, line);
+  emit_line_note_force (input_filename, input_line);
 
   /* Before the return label (if any), clobber the return
      registers so that they are not propagated live to the rest of
@@ -7119,10 +7112,6 @@ expand_function_end (filename, line, end_bindings)
   if (return_label)
     emit_label (return_label);
 
-  /* C++ uses this.  */
-  if (end_bindings)
-    expand_end_bindings (0, 0, 0);
-
   if (current_function_instrument_entry_exit)
     {
       rtx fun = DECL_RTL (current_function_decl);
index b370870..8c3aaad 100644 (file)
@@ -1,3 +1,12 @@
+2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * class.c (push_class): Use a location_t to save place.
+       (emit_register_classes): Set input_location. Adjust
+       expand_function_end call.
+       * resource.c (write_resource_constructor): Likewise.
+       * decl.c (end_java_method): Adjust expand_function_end call.
+       * parse.y (source_end_java_method): Likewise.
+
 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
 
        * lang.c (java_handle_option): Likewise.
index fe00f78..ed1ae4d 100644 (file)
@@ -308,8 +308,7 @@ tree
 push_class (tree class_type, tree class_name)
 {
   tree decl, signature;
-  const char *save_input_filename = input_filename;
-  int save_lineno = input_line;
+  location_t saved_loc = input_location;
   tree source_name = identifier_subst (class_name, "", '.', '/', ".java");
   CLASS_P (class_type) = 1;
   input_filename = IDENTIFIER_POINTER (source_name);
@@ -319,8 +318,7 @@ push_class (tree class_type, tree class_name)
   /* dbxout needs a DECL_SIZE if in gstabs mode */
   DECL_SIZE (decl) = integer_zero_node;
 
-  input_filename = save_input_filename;
-  input_line = save_lineno;
+  input_location = saved_loc;
   signature = identifier_subst (class_name, "L", '.', '/', ";");
   IDENTIFIER_SIGNATURE_TYPE (signature) = build_pointer_type (class_type);
 
@@ -2000,6 +1998,7 @@ emit_register_classes (void)
       tree init_type = build_function_type (void_type_node, end_params_node);
       tree init_decl;
       tree t;
+      location_t saved_loc = input_location;
       
       init_decl = build_decl (FUNCTION_DECL, init_name, init_type);
       SET_DECL_ASSEMBLER_NAME (init_decl, init_name);
@@ -2028,8 +2027,8 @@ emit_register_classes (void)
       for ( t = registered_class; t; t = TREE_CHAIN (t))
        emit_library_call (registerClass_libfunc, 0, VOIDmode, 1,
                           XEXP (DECL_RTL (t), 0), Pmode);
-      
-      expand_function_end (input_filename, 0, 0);
+      input_location = DECL_SOURCE_LOCATION (init_decl);
+      expand_function_end ();
       poplevel (1, 0, 1);
       rest_of_compilation (init_decl);
       current_function_decl = NULL_TREE;
@@ -2037,6 +2036,7 @@ emit_register_classes (void)
       if (targetm.have_ctors_dtors)
        (* targetm.asm_out.constructor) (XEXP (DECL_RTL (init_decl), 0),
                                         DEFAULT_INIT_PRIORITY);
+      input_location = saved_loc;
     }
 }
 
index 7d5507c..5354f89 100644 (file)
@@ -1810,7 +1810,7 @@ end_java_method (void)
   BLOCK_SUPERCONTEXT (DECL_INITIAL (fndecl)) = fndecl;
 
   /* Generate rtl for function exit.  */
-  expand_function_end (input_filename, input_line, 0);
+  expand_function_end ();
 
   /* Run the optimizers and output assembler code for this function. */
   rest_of_compilation (fndecl);
index 854fd5f..a156be1 100644 (file)
@@ -7386,7 +7386,7 @@ source_end_java_method (void)
   if (! flag_emit_class_files && ! flag_emit_xref)
     {
       input_line = DECL_FUNCTION_LAST_LINE (fndecl);
-      expand_function_end (input_filename, input_line, 0);
+      expand_function_end ();
 
       /* Run the optimizers and output assembler code for this function. */
       rest_of_compilation (fndecl);
index a1de225..b71a670 100644 (file)
@@ -104,6 +104,7 @@ write_resource_constructor (void)
 {
   tree init_name, init_type, init_decl;
   tree iter;
+  location_t saved_loc = input_location;
 
   /* Only do work if required.  */
   if (resources == NULL_TREE)
@@ -139,7 +140,8 @@ write_resource_constructor (void)
                         Pmode);
     }
 
-  expand_function_end (input_filename, 0, 0);
+  input_location = DECL_SOURCE_LOCATION (init_decl);
+  expand_function_end ();
   poplevel (1, 0, 1);
   { 
     /* Force generation, even with -O3 or deeper.  Gross hack.
@@ -152,6 +154,7 @@ write_resource_constructor (void)
   current_function_decl = NULL_TREE;
   (* targetm.asm_out.constructor) (XEXP (DECL_RTL (init_decl), 0),
                                   DEFAULT_INIT_PRIORITY);
+  input_location = saved_loc;
 }
 
 /* Generate a byte array representing the contents of FILENAME.  The
index 0466a03..26c79a8 100644 (file)
@@ -2806,7 +2806,7 @@ extern void type_hash_add         PARAMS ((unsigned int, tree));
 extern unsigned int type_hash_list     PARAMS ((tree));
 extern int simple_cst_list_equal       PARAMS ((tree, tree));
 extern void dump_tree_statistics       PARAMS ((void));
-extern void expand_function_end                PARAMS ((const char *, int, int));
+extern void expand_function_end                PARAMS ((void));
 extern void expand_function_start      PARAMS ((tree, int));
 extern void expand_pending_sizes        PARAMS ((tree));
 
index a900378..cd82188 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * treetree.c (tree_code_create_function_wrapup): Adjust
+       expand_function_end call.
+
 2003-06-18  Nathan Sidwell  <nathan@codesourcery.com>
 
        * treetree.c (build_stmt): Remove VPARAMS.
index 11f59d0..57a4a48 100644 (file)
@@ -452,7 +452,7 @@ tree_code_create_function_wrapup (location_t loc)
 
   /* Emit rtl for end of function.  */
 
-  expand_function_end (loc.file, loc.line, 0);
+  expand_function_end ();
 
   /* Pop the level.  */