OSDN Git Service

* gcc-interface/gigi.h (end_subprog_body): Tweak comment.
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 2 Aug 2009 13:14:15 +0000 (13:14 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 2 Aug 2009 13:14:15 +0000 (13:14 +0000)
* gcc-interface/utils.c (end_subprog_body): Likewise.
* gcc-interface/trans.c (gigi): Likewise.
(gnat_to_gnu): Likewise.

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

gcc/ada/ChangeLog
gcc/ada/gcc-interface/gigi.h
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils.c

index 35aa542..aed7ce6 100644 (file)
@@ -1,3 +1,10 @@
+2009-08-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (end_subprog_body): Tweak comment.
+       * gcc-interface/utils.c (end_subprog_body): Likewise.
+       * gcc-interface/trans.c (gigi): Likewise.
+       (gnat_to_gnu): Likewise.
+
 2009-07-30  Ben Brosgol  <brosgol@adacore.com>
 
        * gnat_ugn.texi: Correct minor texi glitch.
index 05a4686..a6171b2 100644 (file)
@@ -677,8 +677,7 @@ extern tree create_label_decl (tree label_name);
    appearing in the subprogram.  */
 extern void begin_subprog_body (tree subprog_decl);
 
-/* Finish the definition of the current subprogram BODY and compile it all the
-   way to assembler language output.  */
+/* Finish the definition of the current subprogram BODY and finalize it.  */
 extern void end_subprog_body (tree body);
 
 /* Build a template of type TEMPLATE_TYPE from the array bounds of ARRAY_TYPE.
index 0dcc593..84053a4 100644 (file)
@@ -626,8 +626,7 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name,
   /* Finally see if we have any elaboration procedures to deal with.  */
   for (info = elab_info_list; info; info = info->next)
     {
-      tree gnu_body = DECL_SAVED_TREE (info->elab_proc);
-      tree gnu_stmts;
+      tree gnu_body = DECL_SAVED_TREE (info->elab_proc), gnu_stmts;
 
       /* Unshare SAVE_EXPRs between subprograms.  These are not unshared by
         the gimplifier for obvious reasons, but it turns out that we need to
@@ -639,21 +638,16 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name,
         an upstream bug for which we would not change the outcome.  */
       walk_tree_without_duplicates (&gnu_body, unshare_save_expr, NULL);
 
-
-      /* We should have a BIND_EXPR, but it may or may not have any statements
-        in it.  If it doesn't have any, we have nothing to do.  */
+      /* We should have a BIND_EXPR but it may not have any statements in it.
+        If it doesn't have any, we have nothing to do except for setting the
+        flag on the GNAT node.  Otherwise, process the function as others.  */
       gnu_stmts = gnu_body;
       if (TREE_CODE (gnu_stmts) == BIND_EXPR)
        gnu_stmts = BIND_EXPR_BODY (gnu_stmts);
-
-      /* If there are no statements, there is no elaboration code.  */
       if (!gnu_stmts || !STATEMENT_LIST_HEAD (gnu_stmts))
-       {
-         Set_Has_No_Elaboration_Code (info->gnat_node, 1);
-       }
+       Set_Has_No_Elaboration_Code (info->gnat_node, 1);
       else
        {
-         /* Process the function as others.  */
          begin_subprog_body (info->elab_proc);
          end_subprog_body (gnu_body);
        }
@@ -5294,12 +5288,11 @@ gnat_to_gnu (Node_Id gnat_node)
       gnu_result = alloc_stmt_list ();
       break;
 
-    /* SCIL nodes require no processing by this backend */
-
     case N_SCIL_Dispatch_Table_Object_Init:
     case N_SCIL_Dispatch_Table_Tag_Init:
     case N_SCIL_Dispatching_Call:
     case N_SCIL_Tag_Init:
+      /* SCIL nodes require no processing for GCC.  */
       gnu_result = alloc_stmt_list ();
       break;
 
index 1548f6d..e61a0fa 100644 (file)
@@ -2069,8 +2069,7 @@ gnat_genericize (tree fndecl)
   pointer_set_destroy (p_set);
 }
 
-/* Finish the definition of the current subprogram BODY and compile it all the
-   way to assembler language output.  */
+/* Finish the definition of the current subprogram BODY and finalize it.  */
 
 void
 end_subprog_body (tree body)
@@ -2109,8 +2108,7 @@ end_subprog_body (tree body)
   /* Dump functions before gimplification.  */
   dump_function (TDI_original, fndecl);
 
-  /* We do different things for nested and non-nested functions.
-     ??? This should be in cgraph.  */
+  /* ??? This special handling of nested functions is probably obsolete.  */
   if (!DECL_CONTEXT (fndecl))
     cgraph_finalize_function (fndecl, false);
   else