public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/36825] New: Problems with dimensions > 7
@ 2008-07-14 17:26 burnus at gcc dot gnu dot org
2008-07-14 17:29 ` [Bug fortran/36825] " burnus at gcc dot gnu dot org
` (9 more replies)
0 siblings, 10 replies; 12+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-14 17:26 UTC (permalink / raw)
To: gcc-bugs
gfortran 4.4 allows 15 instead of 7 dimensions, however, it has some problems
with that:
gfortran -std=f95 -Wall -pedantic should print a message for:
integer,parameter :: N=10
complex,dimension(-N:N,-N:N,0:1,0:1,-N:N,-N:N,0:1,0:1) :: P
end
But it does not. This seems to be an off-by-one error as for 9 dimensions an
error is printed:
Error: Fortran 2008: Array specification at (1) with more than 7 dimensions
* * *
More seriously, adding a PRINT causes an IDE:
a.f90:1: internal compiler error: in gfc_get_dtype, at
fortran/trans-types.c:1254
integer,parameter :: N=10
complex,dimension(-N:N,-N:N,0:1,0:1,-N:N,-N:N,0:1,0:1) :: P
print *, p
end
--
Summary: Problems with dimensions > 7
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code, diagnostic
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] Problems with dimensions > 7
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
@ 2008-07-14 17:29 ` burnus at gcc dot gnu dot org
2008-07-16 20:37 ` burnus at gcc dot gnu dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-14 17:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from burnus at gcc dot gnu dot org 2008-07-14 17:28 -------
The I/O ICE is due to:
trans-types.c: gcc_assert (rank <= GFC_DTYPE_RANK_MASK);
where the maximal DTYPE rank is defined as:
libgfortran.h:#define GFC_DTYPE_RANK_MASK 0x07
The other problem can be cured using:
Index: array.c
===================================================================
--- array.c (Revision 137756)
+++ array.c (Arbeitskopie)
@@ -437,7 +437,7 @@ gfc_match_array_spec (gfc_array_spec **a
goto cleanup;
}
- if (as->rank > 7
+ if (as->rank >= 7
&& gfc_notify_std (GFC_STD_F2008, "Fortran 2008: Array "
"specification at %C with more than 7 dimensions")
== FAILURE)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] Problems with dimensions > 7
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
2008-07-14 17:29 ` [Bug fortran/36825] " burnus at gcc dot gnu dot org
@ 2008-07-16 20:37 ` burnus at gcc dot gnu dot org
2008-07-17 5:56 ` burnus at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-16 20:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from burnus at gcc dot gnu dot org 2008-07-16 20:36 -------
Jerry, you know libgfortran better than me. Can one simply change in
libgfortran.h:
#define GFC_DTYPE_RANK_MASK 0x07
to 0x0F (= 15) or does this cause some problems with the gcc 4.3
compatibility or ... ? Actually, why is this defined as "0x07" and not as "7"?
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jvdelisle at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] Problems with dimensions > 7
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
2008-07-14 17:29 ` [Bug fortran/36825] " burnus at gcc dot gnu dot org
2008-07-16 20:37 ` burnus at gcc dot gnu dot org
@ 2008-07-17 5:56 ` burnus at gcc dot gnu dot org
2008-07-19 17:13 ` jvdelisle at gcc dot gnu dot org
` (6 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-17 5:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from burnus at gcc dot gnu dot org 2008-07-17 05:55 -------
Subject: Bug 36825
Author: burnus
Date: Thu Jul 17 05:54:42 2008
New Revision: 137910
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=137910
Log:
2008-07-17 Tobias Burnus <burnus@net-b.de>
PR fortran/36825
PR fortran/36824
* array.c (gfc_match_array_spec): Fix array-rank check.
* resolve.c (resolve_fl_derived): Fix constentness check
for the array dimensions.
2008-07-17 Tobias Burnus <burnus@net-b.de>
PR fortran/36825
PR fortran/36824
* gfortran.dg/rank_2.f90: Add additional array-rank test.
* gfortran.dg/array_4.f90: New.
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/array.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/rank_2.f90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] Problems with dimensions > 7
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-07-17 5:56 ` burnus at gcc dot gnu dot org
@ 2008-07-19 17:13 ` jvdelisle at gcc dot gnu dot org
2008-07-21 5:18 ` jvdelisle at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-07-19 17:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from jvdelisle at gcc dot gnu dot org 2008-07-19 17:12 -------
Tobias, I just caught up with your question to me today. I think you have
answered it. :) Thanks for patch. One thing we should do is check internal
unit array I/O with higher dimensions to see if the loop spec code holds up. I
will do that.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] Problems with dimensions > 7
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
` (3 preceding siblings ...)
2008-07-19 17:13 ` jvdelisle at gcc dot gnu dot org
@ 2008-07-21 5:18 ` jvdelisle at gcc dot gnu dot org
2008-07-27 19:55 ` [Bug fortran/36825] F2008: I/O with rank > 7 arrays [will break presumably break library ABI] burnus at gcc dot gnu dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-07-21 5:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from jvdelisle at gcc dot gnu dot org 2008-07-21 05:17 -------
Internal unit array I/O with dimensions greater than 7 appears to work OK.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] F2008: I/O with rank > 7 arrays [will break presumably break library ABI]
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
` (4 preceding siblings ...)
2008-07-21 5:18 ` jvdelisle at gcc dot gnu dot org
@ 2008-07-27 19:55 ` burnus at gcc dot gnu dot org
2008-07-27 23:26 ` jvdelisle at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-27 19:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from burnus at gcc dot gnu dot org 2008-07-27 19:54 -------
See also http://gcc.gnu.org/ml/fortran/2008-07/msg00211.html
Problem is the libgfortran ABI. Email mentions PR 35718, which presumably also
means an ABI breakage.
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Problems with dimensions > 7|F2008: I/O with rank > 7
| |arrays [will break
| |presumably break library
| |ABI]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] F2008: I/O with rank > 7 arrays [will break presumably break library ABI]
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
` (5 preceding siblings ...)
2008-07-27 19:55 ` [Bug fortran/36825] F2008: I/O with rank > 7 arrays [will break presumably break library ABI] burnus at gcc dot gnu dot org
@ 2008-07-27 23:26 ` jvdelisle at gcc dot gnu dot org
2008-07-28 6:42 ` [Bug fortran/36825] F2008: libgfortran I/O+intrinsics: Rank " burnus at gcc dot gnu dot org
` (2 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-07-27 23:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from jvdelisle at gcc dot gnu dot org 2008-07-27 23:25 -------
I see only one place in the I/O library that uses GFC_DTYPE_RANK_MASK.
There are many many places in the intrinsics.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] F2008: libgfortran I/O+intrinsics: Rank > 7 arrays [will break presumably break library ABI]
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
` (6 preceding siblings ...)
2008-07-27 23:26 ` jvdelisle at gcc dot gnu dot org
@ 2008-07-28 6:42 ` burnus at gcc dot gnu dot org
2008-07-28 9:47 ` tkoenig at gcc dot gnu dot org
2009-08-15 2:18 ` [Bug fortran/36825] F2008: Rank > 7 arrays [will break library ABI] libgfortran I/O+intrinsics: jvdelisle at gcc dot gnu dot org
9 siblings, 0 replies; 12+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-07-28 6:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from burnus at gcc dot gnu dot org 2008-07-28 06:41 -------
> I see only one place in the I/O library that uses GFC_DTYPE_RANK_MASK.
> There are many many places in the intrinsics.
Hmm, true. Maybe one should disable the rank 15 in the frontend again. I see
GFC_DESCRIPTOR used in: associated.c, cshift0.c, date_and_time.c, eoshift0.c,
eoshift2.c, iso_c_binding.c, move_alloc.c, pack_generic.c, random.c,
reshape_generic.c, size.c, spread_generic.c, stat.c, transpose_generic.c,
unpack_generic.c, transfer.c, unit.c, in_pack_generic.c, in_unpack_generic.c,
cshift1.m4, eoshift1.m4, eoshift3.m4, iforeach.m4, ifunction_logical.m4,
ifunction.m4, in_pack.m4, in_unpack.m4, matmull.m4, matmul.m4, pack.m4,
reshape.m4, shape.m4, spread.m4, transpose.m4, unpack.m4.
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|F2008: I/O with rank > 7 |F2008: libgfortran
|arrays [will break |I/O+intrinsics: Rank > 7
|presumably break library |arrays [will break
|ABI] |presumably break library
| |ABI]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] F2008: libgfortran I/O+intrinsics: Rank > 7 arrays [will break presumably break library ABI]
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
` (7 preceding siblings ...)
2008-07-28 6:42 ` [Bug fortran/36825] F2008: libgfortran I/O+intrinsics: Rank " burnus at gcc dot gnu dot org
@ 2008-07-28 9:47 ` tkoenig at gcc dot gnu dot org
2009-08-15 2:18 ` [Bug fortran/36825] F2008: Rank > 7 arrays [will break library ABI] libgfortran I/O+intrinsics: jvdelisle at gcc dot gnu dot org
9 siblings, 0 replies; 12+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2008-07-28 9:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from tkoenig at gcc dot gnu dot org 2008-07-28 09:46 -------
See
http://gcc.gnu.org/wiki/ArrayDescriptorUpdate
--
tkoenig at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tkoenig at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-07-28 09:46:31
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] F2008: Rank > 7 arrays [will break library ABI] libgfortran I/O+intrinsics:
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
` (8 preceding siblings ...)
2008-07-28 9:47 ` tkoenig at gcc dot gnu dot org
@ 2009-08-15 2:18 ` jvdelisle at gcc dot gnu dot org
9 siblings, 0 replies; 12+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2009-08-15 2:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from jvdelisle at gcc dot gnu dot org 2009-08-15 02:17 -------
Updating summary to reflect the focus of this PR.
--
jvdelisle at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|F2008: libgfortran |F2008: Rank > 7 arrays
|I/O+intrinsics: Rank > 7 |[will break library ABI]
|arrays [will break |libgfortran I/O+intrinsics:
|presumably break library |
|ABI] |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug fortran/36825] [F2008] Rank > 7 arrays [will break library ABI] libgfortran I/O+intrinsics:
[not found] <bug-36825-4@http.gcc.gnu.org/bugzilla/>
@ 2012-09-15 13:09 ` burnus at gcc dot gnu.org
0 siblings, 0 replies; 12+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-09-15 13:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36825
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
--- Comment #12 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-15 13:09:15 UTC ---
We also need to update dwarf2out.h, which has:
266struct array_descr_info
267{
268 int ndimensions;
269 tree element_type;
270 tree base_decl;
271 tree data_location;
272 tree allocated;
273 tree associated;
274 struct array_descr_dimen
275 {
276 tree lower_bound;
277 tree upper_bound;
278 tree stride;
279 } dimen[10];
280};
Thus, GCC limits the maximal rank to 10.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-09-15 13:09 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-14 17:26 [Bug fortran/36825] New: Problems with dimensions > 7 burnus at gcc dot gnu dot org
2008-07-14 17:29 ` [Bug fortran/36825] " burnus at gcc dot gnu dot org
2008-07-16 20:37 ` burnus at gcc dot gnu dot org
2008-07-17 5:56 ` burnus at gcc dot gnu dot org
2008-07-19 17:13 ` jvdelisle at gcc dot gnu dot org
2008-07-21 5:18 ` jvdelisle at gcc dot gnu dot org
2008-07-27 19:55 ` [Bug fortran/36825] F2008: I/O with rank > 7 arrays [will break presumably break library ABI] burnus at gcc dot gnu dot org
2008-07-27 23:26 ` jvdelisle at gcc dot gnu dot org
2008-07-28 6:42 ` [Bug fortran/36825] F2008: libgfortran I/O+intrinsics: Rank " burnus at gcc dot gnu dot org
2008-07-28 9:47 ` tkoenig at gcc dot gnu dot org
2009-08-15 2:18 ` [Bug fortran/36825] F2008: Rank > 7 arrays [will break library ABI] libgfortran I/O+intrinsics: jvdelisle at gcc dot gnu dot org
[not found] <bug-36825-4@http.gcc.gnu.org/bugzilla/>
2012-09-15 13:09 ` [Bug fortran/36825] [F2008] " burnus at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).