GCC currently prints the not so helpful:
24 | use three
| 1
Error: Ambiguous !$OMP DECLARE REDUCTION from module three at (1)
23 | use two
| 1
Error: Previous !$OMP DECLARE REDUCTION from module two at (1)
That's okay if there is only a single reduction - but if there
are multiple ...
Solution: Output operator and type in addition. I also switched to
'Note:' to make the relation error + associated clearer compared
to having two 'errors'.
24 | use three
| 1
Error: Ambiguous !$OMP DECLARE REDUCTION ‘operator +’ for type ‘TYPE(t)’ from
module ‘three’ at (1)
decl-red2.f90:23:6:
23 | use two
| 1
note: Previous !$OMP DECLARE REDUCTION from module ‘two’
Committed as Rev. r17-1443-gfd268b83ffb58a
Are there any (post-commit) comments and remarks?
Tobias
PS: I guess we should eventually add 'gfc_inform' with buffer handling;
additionally 'note:' should be 'Note:' (→ gfc-diagnostic.def).
PPS: The code doesn't handle derived-type renaming. That's the same issue
as the 'declare mapper' patch that I will sent in a moment and will have to
be dealt as followup to both declare mapper/reduction.