* class.c (add_miranda_methods): Ensure super-interfaces are laid
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Sep 2003 05:00:46 +0000 (05:00 +0000)
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Sep 2003 05:00:46 +0000 (05:00 +0000)
        out. Fix for PR java/12254.

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

gcc/java/ChangeLog
gcc/java/class.c

index 2991bd2..385cd85 100644 (file)
@@ -1,3 +1,8 @@
+2003-09-16  Bryce McKinlay  <bryce@mckinlay.net.nz>
+
+       * class.c (add_miranda_methods): Ensure super-interfaces are laid 
+       out. Fix for PR java/12254.
+
 2003-09-11  Richard Henderson  <rth@redhat.com>
 
         * parse.y (source_end_java_method): Update for new
index 620a8a2..a1c7249 100644 (file)
@@ -1862,10 +1862,12 @@ add_miranda_methods (tree base_class, tree search_class)
        break;
       elt = BINFO_TYPE (elt);
 
-      /* Note that order matters here.  However, all the base classes
-        will have been laid out at this point, so the order will
-        always be correct.  Also, this code must match similar layout
-        code in the runtime.  */
+      /* Ensure that interface methods are seen in declared order.  */
+      layout_class_methods (elt);
+
+      /* All base classes will have been laid out at this point, so the order 
+         will be correct.  This code must match similar layout code in the 
+         runtime.  */
       for (method_decl = TYPE_METHODS (elt);
           method_decl; method_decl = TREE_CHAIN (method_decl))
        {