OSDN Git Service

Remove lang_eh_type_covers, which is dead, and the corresponding
authorbaldrick <baldrick@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Apr 2010 09:21:12 +0000 (09:21 +0000)
committerbaldrick <baldrick@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Apr 2010 09:21:12 +0000 (09:21 +0000)
Ada routine gnat_eh_type_covers.

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

gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/gcc-interface/misc.c
gcc/ada/gcc-interface/trans.c
gcc/except.c
gcc/except.h

index be1bed7..09b704a 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-13  Duncan Sands  <baldrick@free.fr>
+
+       * except.h (lang_eh_type_covers): Remove.
+       * except.c (lang_eh_type_covers): Likewise.
+
 2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
        
index b62b913..7c6a63c 100644 (file)
@@ -1,3 +1,8 @@
+2010-04-13  Duncan Sands  <baldrick@free.fr>
+
+       * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
+       * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
+
 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
index 8c647d3..dbeabc0 100644 (file)
@@ -74,7 +74,6 @@ static void gnat_print_type           (FILE *, tree, int);
 static const char *gnat_printable_name (tree, int);
 static const char *gnat_dwarf_name     (tree, int);
 static tree gnat_return_tree           (tree);
-static int gnat_eh_type_covers         (tree, tree);
 static void gnat_parse_file            (int);
 static void internal_error_function    (const char *, va_list *);
 static tree gnat_type_max_size         (const_tree);
@@ -434,8 +433,6 @@ gnat_init_gcc_eh (void)
      right exception regions.  */
   using_eh_for_cleanups ();
 
-  lang_eh_type_covers = gnat_eh_type_covers;
-
   /* Turn on -fexceptions and -fnon-call-exceptions. The first one triggers
      the generation of the necessary exception runtime tables. The second one
      is useful for two reasons: 1/ we map some asynchronous signals like SEGV
@@ -580,20 +577,6 @@ gnat_return_tree (tree t)
   return t;
 }
 
-/* Return true if type A catches type B. Callback for flow analysis from
-   the exception handling part of the back-end.  */
-
-static int
-gnat_eh_type_covers (tree a, tree b)
-{
-  /* a catches b if they represent the same exception id or if a
-     is an "others".
-
-     ??? integer_zero_node for "others" is hardwired in too many places
-     currently.  */
-  return (a == b || a == integer_zero_node);
-}
-\f
 /* Get the alias set corresponding to a type or expression.  */
 
 static alias_set_type
index 2c86db9..6da6e79 100644 (file)
@@ -3279,11 +3279,7 @@ Exception_Handler_to_gnu_zcx (Node_Id gnat_node)
      handler can catch, with special cases for others and all others cases.
 
      Each exception type is actually identified by a pointer to the exception
-     id, or to a dummy object for "others" and "all others".
-
-     Care should be taken to ensure that the control flow impact of "others"
-     and "all others" is known to GCC. lang_eh_type_covers is doing the trick
-     currently.  */
+     id, or to a dummy object for "others" and "all others".  */
   for (gnat_temp = First (Exception_Choices (gnat_node));
        gnat_temp; gnat_temp = Next (gnat_temp))
     {
index bdf98ef..fccfb73 100644 (file)
@@ -153,9 +153,6 @@ along with GCC; see the file COPYING3.  If not see
    to the given failure handler.  */
 tree (*lang_protect_cleanup_actions) (void);
 
-/* Return true if type A catches type B.  */
-int (*lang_eh_type_covers) (tree a, tree b);
-
 static GTY(()) int call_site_base;
 static GTY ((param_is (union tree_node)))
   htab_t type_to_runtime_map;
index 99f620b..59214e0 100644 (file)
@@ -294,9 +294,6 @@ extern eh_landing_pad get_eh_landing_pad_from_rtx (const_rtx);
    FUNCTION_DECL for `std::terminate'.  */
 extern tree (*lang_protect_cleanup_actions) (void);
 
-/* Return true if type A catches type B.  */
-extern int (*lang_eh_type_covers) (tree a, tree b);
-
 
 /* Just because the user configured --with-sjlj-exceptions=no doesn't
    mean that we can use call frame exceptions.  Detect that the target