This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Applications



Bryce McKinlay writes:

> But the TestCR crashes. Seems it gets stuck in an infinate loop
> between these two calls:

I'm just about to test this patch. So what was the idea? Defining a
set of applications which execution would test the compiler from
regressions? A we reached conclusion? Or was it for the 3.0?

./A

2001-07-12  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_method_invocation): `new_this_arg' is a copy of
	`this_arg'. Use it when calling maybe_use_access_method. Fixed
	comment.

Index: parse.y
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/parse.y,v
retrieving revision 1.295
diff -u -p -r1.295 parse.y
--- parse.y     2001/07/12 21:36:43     1.295
+++ parse.y     2001/07/13 02:22:33
@@ -10013,7 +10019,8 @@ patch_method_invocation (patch, primary,
       args = nreverse (args);
       if (TREE_CODE (patch) != NEW_CLASS_EXPR)
        {
-         this_arg = primary ? primary : current_this;
+         tree new_this_arg;
+         new_this_arg = this_arg = primary ? primary : current_this;
 
          /* If we're using an access method, things are different.
             There are two familly of cases:
@@ -10030,7 +10037,7 @@ patch_method_invocation (patch, primary,
             - LIST is non static. It's invocation is transformed from
               x(a1,....,an) into access$<n>(this$<n>,a1,...,an).
             - LIST is static. It's invocation is transformed from
-              x(a1,....,an) into TYPEOF(this$<n>).x(a1,....an).
+              x(a1,....,an) into TYPE_OF(this$<n>).x(a1,....an).
 
             Of course, this$<n> can be abitrary complex, ranging from
             this$0 (the immediate outer context) to 
@@ -10040,9 +10047,9 @@ patch_method_invocation (patch, primary,
             this_arg has to be moved into the (then generated) stub
             argument list. In the meantime, the selected function
             might have be replaced by a generated stub. */
-         if (maybe_use_access_method (is_super_init, &list, &this_arg))
+         if (maybe_use_access_method (is_super_init, &list, &new_this_arg))
            {
-             args = tree_cons (NULL_TREE, this_arg, args);
+             args = tree_cons (NULL_TREE, new_this_arg, args);
              this_arg = NULL_TREE; /* So it doesn't get chained twice */
            }
        }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]