https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #27 from Jerry DeLisle ---
(In reply to Dominique d'Humieres from comment #26)
> > I concur. Closing accordingly.
>
> I disagree: if there is a limit, gfortran should emit an error.
Well you are hitting on an OS limit, we could put
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #26 from Dominique d'Humieres ---
> I concur. Closing accordingly.
I disagree: if there is a limit, gfortran should emit an error.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
Thomas Koenig changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #24 from Jerry DeLisle ---
(In reply to Jerry DeLisle from comment #23)
> Ok I see it.
>
> In fbuf.c (fbuf_alloc):
>
> /* Round up to nearest multiple of the current buffer length. */
> newlen = ((u->fbuf->pos + len) /
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #23 from Jerry DeLisle ---
Ok I see it.
In fbuf.c (fbuf_alloc):
/* Round up to nearest multiple of the current buffer length. */
newlen = ((u->fbuf->pos + len) / u->fbuf->len + 1) *u->fbuf->len;
u->fbuf->buf =
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #22 from Dominique d'Humieres ---
For the original test
program p
character :: z = 'z'
print *, repeat(z, huge(1_4))
end
I get
% gfc pr66310.f90 -m32
% ./a.out > zzz
a.out(22882,0xa9b3c1c0) malloc: ***
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #21 from Harald Anlauf ---
(In reply to Jerry DeLisle from comment #20)
>program p
> character(kind=1), parameter :: z = 'z'
> integer, parameter :: big = 536870911
> !print *, repeat(z, huge(1_4)/4)
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #20 from Jerry DeLisle ---
(In reply to Dominique d'Humieres from comment #19)
> > Can this be closed.
>
> The problem is not fixed in 32-bit mode.
Dominique, what are you seeing? This is working fine with my system with -m32.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
Dominique d'Humieres changed:
What|Removed |Added
Status|NEW |ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #19 from Dominique d'Humieres ---
> Can this be closed.
The problem is not fixed in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #18 from Jerry DeLisle ---
Can this be closed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #17 from Janne Blomqvist ---
Author: jb
Date: Fri Jan 5 19:01:12 2018
New Revision: 256284
URL: https://gcc.gnu.org/viewcvs?rev=256284=gcc=rev
Log:
PR 78534 Change character length from int to size_t
In order to handle large
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #16 from Janne Blomqvist ---
Author: jb
Date: Fri Jan 13 17:05:48 2017
New Revision: 28
URL: https://gcc.gnu.org/viewcvs?rev=28=gcc=rev
Log:
PR 78534 Change character length from int to size_t
In order to handle large
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #14 from Dominique d'Humieres ---
On x86_64-apple-darwin15 with 16Gb of RAM and ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #13 from Jerry DeLisle ---
(In reply to Jerry DeLisle from comment #12)
--- snip ---
>
> f951: out of memory allocating 18446744073441116160 bytes after a total of
> 569344 bytes
>
I should mention there is really nothing wrong
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #12 from Jerry DeLisle ---
I have found that there is a practical limit of 2**28-1 on the size. The test
case:
program p
character, parameter :: z = 'z'
print *, repeat(z, (268435456)) ! 2**28
end
gives when compiled:
f951:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #11 from Jerry DeLisle ---
Latest patch posted here.
https://gcc.gnu.org/ml/fortran/2016-07/msg00046.html
Still testing.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
Jerry DeLisle changed:
What|Removed |Added
Attachment #37811|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #9 from Jerry DeLisle ---
(In reply to Dominique d'Humieres from comment #8)
... snip ...
> before the patch and with
>
> pr66310_1.f90:3:0:
>
>print *, repeat(z, huge(1_4))
>
> internal compiler error: Segmentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #8 from Dominique d'Humieres ---
> Created attachment 37811
> --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37811=edit
> Proposed patch
>
> This patch fixes some signed integer problems in a few places and allows the
> test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #7 from Jerry DeLisle ---
Created attachment 37811
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37811=edit
Proposed patch
This patch fixes some signed integer problems in a few places and allows the
test case to compile on
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #6 from Jerry DeLisle ---
When using the REPEAT intrinsic as a parameter, the frontend is simplifying
this to an actual string constant of the requested length. In this process it
is attempting to allocate length + 1 in order to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
Jerry DeLisle changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |jvdelisle at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #4 from Jerry DeLisle jvdelisle at gcc dot gnu.org ---
(In reply to Gerhard Steinmetz from comment #3)
I do agree, that some extra temporary data is necessary and there
should be a practical (high) limit for something like that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
Dominique d'Humieres dominiq at lps dot ens.fr changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
--- Comment #3 from Gerhard Steinmetz gerhard.steinmetz.fort...@t-online.de
---
I do agree, that some extra temporary data is necessary and there
should be a practical (high) limit for something like that.
Let the helper buffers be five or ten
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66310
Jerry DeLisle jvdelisle at gcc dot gnu.org changed:
What|Removed |Added
CC||jvdelisle at
27 matches
Mail list logo