On 07/21/2011 05:20 PM, Daniel Carrera wrote:
From what you posted, it looks like I sent the wrong patch. I
generated the patch again with a different name just to make sure I'm
not mixing it up (attached).
The patch is identical to the previous one. I wonder what goes wrong,
but it applies cleanly to the trunk and indeed looks as if the goto is
in the wrong part. I only see GOTO_EXPR at:
+ if (!gfc_array_allocate (&se, expr, stat, errmsg, errlen))
{
...
@@ -4861,3 +4878,9 @@ gfc_trans_allocate (gfc_code * code)
...
+ if (gfc_option.coarray == GFC_FCOARRAY_LIB
+ && gfc_expr_attr (expr).codimension)
+ tmp = build1_v (GOTO_EXPR, label_finish);
+ else
+ tmp = build1_v (GOTO_EXPR, label_errmsg);
And also the indention indicates that it is still in the
"!gfc_array_allocate" branch.
Ok. The attached patch includes that change (technically I haven't
tested it, but I'll test before committing).
I think something goes seriously wrong with diffing: As the patch is
identically, it is not included.
I do not know mercury, but "git" distinguishes between a modification
which is just in the directory and can be shown with "git diff" - and
one which has been staged with "git add" and shown with "git diff
--cached". (And those patches committed locally via "git commit".)
I wouldn't be surprised if mercury does something similar.
Tobias