I committed (Rev. 184331) the attached patch as obvious. Thanks to all
translators at translationproject.org for their work - and in particular
to Roland, who reported all the issues below.
See also PR 52274 for remaining translation-related issues.
* * *
General GCC status: 0 P1, 64 P2, 12 P3 = 76 serious regressions. 62 P4
and 53 P5. (Some of the P3 regressions have P1 priority.)
* * *
Pending commits:
* OPTIONAL related patches by Mikael. Approved but not committed:
http://gcc.gnu.org/ml/fortran/2012-02/msg00062.html
http://gcc.gnu.org/ml/fortran/2012-02/msg00061.html
Review pending:
* -Wrealloc-lhs(-all)
http://gcc.gnu.org/ml/fortran/2012-02/msg00071.html
RFC patch:
* Janne's libgfortran patch: RFC: Shared vtables, constification
http://gcc.gnu.org/ml/fortran/2012-02/msg00067.html
Are there other patches, which have been posted (for 4.6, 4.7 or 4.8)
but forgotten?
Tobias
2012-02-17 Tobias Burnus <bur...@net-b.de>
Roland Stigge <sti...@antcom.de>
PR translation/52232
PR translation/52234
PR translation/52245
PR translation/52246
PR translation/52262
PR translation/52273
* io.c (gfc_match_open): Fix typo.
* interface.c (compare_actual_formal): Ditto.
* lang.opt (freal-4-real-8, freal-4-real-16, freal-8-real-16): Ditto.
* match.c (alloc_opt_list, gfc_match_nullify): Ditto.
* check.c (gfc_check_associated, gfc_check_null): Ditto.
2012-02-17 Tobias Burnus <bur...@net-b.de>
PR translation/52232
PR translation/52234
PR translation/52245
PR translation/52246
PR translation/52262
PR translation/52273
* gfortran.dg/coarray_22.f90: Update dg-error.
* gfortran.dg/allocate_alloc_opt_4.f90: Ditto.
Index: gcc/fortran/io.c
===================================================================
--- gcc/fortran/io.c (Revision 184327)
+++ gcc/fortran/io.c (Arbeitskopie)
@@ -2016,7 +2016,7 @@ gfc_match_open (void)
/* Checks on the ROUND specifier. */
if (open->round)
{
- if (gfc_notify_std (GFC_STD_F2003, "Fortran F2003: ROUND= at %C "
+ if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: ROUND= at %C "
"not allowed in Fortran 95") == FAILURE)
goto cleanup;
Index: gcc/fortran/interface.c
===================================================================
--- gcc/fortran/interface.c (Revision 184327)
+++ gcc/fortran/interface.c (Arbeitskopie)
@@ -2305,7 +2305,7 @@ compare_actual_formal (gfc_actual_arglist **ap, gf
&& a->expr->ts.type == BT_CHARACTER)
{
if (where)
- gfc_error ("Actual argument argument at %L to allocatable or "
+ gfc_error ("Actual argument at %L to allocatable or "
"pointer dummy argument '%s' must have a deferred "
"length type parameter if and only if the dummy has one",
&a->expr->where, f->sym->name);
@@ -2429,7 +2429,7 @@ compare_actual_formal (gfc_actual_arglist **ap, gf
{
if (where)
gfc_error ("Coindexed ASYNCHRONOUS or VOLATILE actual argument at "
- "at %L requires that dummy %s' has neither "
+ "at %L requires that dummy '%s' has neither "
"ASYNCHRONOUS nor VOLATILE", &a->expr->where,
f->sym->name);
return 0;
Index: gcc/fortran/lang.opt
===================================================================
--- gcc/fortran/lang.opt (Revision 184327)
+++ gcc/fortran/lang.opt (Arbeitskopie)
@@ -500,7 +508,7 @@ Enable range checking during compilation
freal-4-real-8
Fortran RejectNegative
-Interpret any REAl(4) as a REAL(8)
+Interpret any REAL(4) as a REAL(8)
freal-4-real-10
Fortran RejectNegative
@@ -508,7 +516,7 @@ Interpret any REAL(4) as a REAL(10)
freal-4-real-16
Fortran RejectNegative
-Interpret any REAL(4) as a REAl(16)
+Interpret any REAL(4) as a REAL(16)
freal-8-real-4
Fortran RejectNegative
@@ -520,7 +528,7 @@ Interpret any REAL(8) as a REAL(10)
freal-8-real-16
Fortran RejectNegative
-Interpret any REAL(8) as a REAl(16)
+Interpret any REAL(8) as a REAL(16)
frealloc-lhs
Fortran
Index: gcc/fortran/match.c
===================================================================
--- gcc/fortran/match.c (Revision 184327)
+++ gcc/fortran/match.c (Arbeitskopie)
@@ -3661,7 +3661,7 @@ alloc_opt_list:
if (head->next
&& gfc_notify_std (GFC_STD_F2008, "Fortran 2008: SOURCE tag at %L"
- " with more than a single allocate objects",
+ " with more than a single allocate object",
&tmp->where) == FAILURE)
goto cleanup;
@@ -3787,7 +3787,7 @@ gfc_match_nullify (void)
/* F2008, C1242. */
if (gfc_is_coindexed (p))
{
- gfc_error ("Pointer object at %C shall not be conindexed");
+ gfc_error ("Pointer object at %C shall not be coindexed");
goto cleanup;
}
Index: gcc/fortran/check.c
===================================================================
--- gcc/fortran/check.c (Revision 184327)
+++ gcc/fortran/check.c (Arbeitskopie)
@@ -908,7 +908,7 @@ gfc_check_associated (gfc_expr *pointer, gfc_expr
if (attr1.pointer && gfc_is_coindexed (pointer))
{
gfc_error ("'%s' argument of '%s' intrinsic at %L shall not be "
- "conindexed", gfc_current_intrinsic_arg[0]->name,
+ "coindexed", gfc_current_intrinsic_arg[0]->name,
gfc_current_intrinsic, &pointer->where);
return FAILURE;
}
@@ -944,7 +944,7 @@ gfc_check_associated (gfc_expr *pointer, gfc_expr
if (attr1.pointer && gfc_is_coindexed (target))
{
gfc_error ("'%s' argument of '%s' intrinsic at %L shall not be "
- "conindexed", gfc_current_intrinsic_arg[1]->name,
+ "coindexed", gfc_current_intrinsic_arg[1]->name,
gfc_current_intrinsic, &target->where);
return FAILURE;
}
@@ -2851,7 +2851,7 @@ gfc_check_null (gfc_expr *mold)
if (gfc_is_coindexed (mold))
{
gfc_error ("'%s' argument of '%s' intrinsic at %L shall not be "
- "conindexed", gfc_current_intrinsic_arg[0]->name,
+ "coindexed", gfc_current_intrinsic_arg[0]->name,
gfc_current_intrinsic, &mold->where);
return FAILURE;
}
Index: gcc/testsuite/gfortran.dg/coarray_22.f90
===================================================================
--- gcc/testsuite/gfortran.dg/coarray_22.f90 (Revision 184327)
+++ gcc/testsuite/gfortran.dg/coarray_22.f90 (Arbeitskopie)
@@ -15,14 +15,14 @@ type(t) :: x[*], y[*]
if (associated(x%ptr)) stop 0
if (associated(x%ptr,y%ptr)) stop 0
-if (associated(x[1]%ptr)) stop 0 ! { dg-error "shall not be conindexed" }
-if (associated(x%ptr,y[1]%ptr)) stop 0 ! { dg-error "shall not be conindexed" }
+if (associated(x[1]%ptr)) stop 0 ! { dg-error "shall not be coindexed" }
+if (associated(x%ptr,y[1]%ptr)) stop 0 ! { dg-error "shall not be coindexed" }
nullify (x%ptr)
-nullify (x[1]%ptr) ! { dg-error "shall not be conindexed" }
+nullify (x[1]%ptr) ! { dg-error "shall not be coindexed" }
x%ptr => null(x%ptr)
-x%ptr => null(x[1]%ptr) ! { dg-error "shall not be conindexed" }
+x%ptr => null(x[1]%ptr) ! { dg-error "shall not be coindexed" }
x[1]%ptr => null(x%ptr) ! { dg-error "shall not have a coindex" }
allocate(x%ptr)
Index: gcc/testsuite/gfortran.dg/allocate_alloc_opt_4.f90
===================================================================
--- gcc/testsuite/gfortran.dg/allocate_alloc_opt_4.f90 (Revision 184327)
+++ gcc/testsuite/gfortran.dg/allocate_alloc_opt_4.f90 (Arbeitskopie)
@@ -17,7 +17,7 @@ program a
allocate(integer(4) :: i(4), source=n) ! { dg-error "conflicts with the typespec" }
- allocate(i(4), j(n), source=n) ! { dg-error "Fortran 2008: SOURCE tag at .1. with more than a single allocate objects" }
+ allocate(i(4), j(n), source=n) ! { dg-error "Fortran 2008: SOURCE tag at .1. with more than a single allocate object" }
allocate(x(4), source=n) ! { dg-error "type incompatible with" }