diff mbox

[Fortran] Add CO_REDUCE

Message ID 5457E2AF.7030406@net-b.de
State New
Headers show

Commit Message

Tobias Burnus Nov. 3, 2014, 8:16 p.m. UTC
Andreas Schwab wrote:
> Tobias Burnus <burnus@net-b.de> writes:
>
>> diff --git a/gcc/testsuite/gfortran.dg/coarray_collectives_14.f90 b/gcc/testsuite/gfortran.dg/coarray_collectives_14.f90
>> new file mode 100644
>> index 0000000..f0ab932
>> --- /dev/null
>> +++ b/gcc/testsuite/gfortran.dg/coarray_collectives_14.f90
> FAIL: gfortran.dg/coarray_collectives_14.f90   -O   (test for errors, line 55)

Sorry for the test failure. One shouldn't do last-minute commits before 
leaving for vacation. Fixed by the attached patch and in Rev. 217053.

I will fill a PR for the FIXME item.

Tobias
diff mbox

Patch

Index: gcc/testsuite/ChangeLog
===================================================================
--- gcc/testsuite/ChangeLog	(Revision 217051)
+++ gcc/testsuite/ChangeLog	(Arbeitskopie)
@@ -1,3 +1,7 @@ 
+2014-11-03  Tobias Burnus  <burnus@net-b.de>
+
+	* gfortran.dg/coarray_collectives_14.f90: Fix testcase.
+
 2014-11-03  Marek Polacek  <polacek@redhat.com>
 
 	PR c/52769
Index: gcc/testsuite/gfortran.dg/coarray_collectives_14.f90
===================================================================
--- gcc/testsuite/gfortran.dg/coarray_collectives_14.f90	(Revision 217052)
+++ gcc/testsuite/gfortran.dg/coarray_collectives_14.f90	(Arbeitskopie)
@@ -15,24 +15,24 @@  program test
   external ext
 
   type t
-    procedure(), nopass :: ext
-    procedure(valid), nopass :: valid
-    procedure(sub), nopass :: sub
-    procedure(nonpure), nopass :: nonpure
-    procedure(arg1), nopass :: arg1
-    procedure(arg2), nopass :: arg2
-    procedure(elem), nopass :: elem
-    procedure(realo), nopass :: realo
-    procedure(int8), nopass :: int8
-    procedure(arr), nopass :: arr
-    procedure(ptr), nopass :: ptr
-    procedure(alloc), nopass :: alloc
-    procedure(opt), nopass :: opt
-    procedure(val), nopass :: val
-    procedure(async), nopass :: async
-    procedure(tgt), nopass :: tgt
-    procedure(char44), nopass :: char44
-    procedure(char34), nopass :: char34
+    procedure(), pointer, nopass :: ext
+    procedure(valid), pointer, nopass :: valid
+    procedure(sub), pointer, nopass :: sub
+    procedure(nonpure), pointer, nopass :: nonpure
+    procedure(arg1), pointer, nopass :: arg1
+    procedure(arg3), pointer, nopass :: arg3
+    procedure(elem), pointer, nopass :: elem
+    procedure(realo), pointer, nopass :: realo
+    procedure(int8), pointer, nopass :: int8
+    procedure(arr), pointer, nopass :: arr
+    procedure(ptr), pointer, nopass :: ptr
+    procedure(alloc), pointer, nopass :: alloc
+    procedure(opt), pointer, nopass :: opt
+    procedure(val), pointer, nopass :: val
+    procedure(async), pointer, nopass :: async
+    procedure(tgt), pointer, nopass :: tgt
+    procedure(char44), pointer, nopass :: char44
+    procedure(char34), pointer, nopass :: char34
   end type t
 
   type(t) :: dt
@@ -62,7 +62,7 @@  program test
   call co_reduce(caf, arg3) ! { dg-error "shall have two arguments" }
   call co_reduce(caf, dt%arg3) ! { dg-error "shall have two arguments" }
   call co_reduce(caf, elem) ! { dg-error "ELEMENTAL non-INTRINSIC procedure 'elem' is not allowed as an actual argument" }
-  call co_reduce(caf, dt%elem) ! { dg-error "ELEMENTAL non-INTRINSIC procedure 'elem' is not allowed as an actual argument" }
+  call co_reduce(caf, dt%elem) ! { FIXME: "ELEMENTAL non-INTRINSIC procedure 'elem' is not allowed as an actual argument" }
   call co_reduce(caf, realo) ! { dg-error "A argument at .1. has type INTEGER.4. but the function passed as OPERATOR at .2. returns REAL.4." }
   call co_reduce(caf, dt%realo) ! { dg-error "A argument at .1. has type INTEGER.4. but the function passed as OPERATOR at .2. returns REAL.4." }
   call co_reduce(caf, int8) ! { dg-error "A argument at .1. has type INTEGER.4. but the function passed as OPERATOR at .2. returns INTEGER.8." }