mirror of
https://gitlab.com/scemama/irpf90.git
synced 2024-12-22 04:13:33 +01:00
Bug in IRP_stack corrected
This commit is contained in:
parent
7266a92c7f
commit
673220f1a9
@ -131,15 +131,15 @@ end subroutine
|
|||||||
!$OMP END PARALLEL
|
!$OMP END PARALLEL
|
||||||
!$OMP CRITICAL
|
!$OMP CRITICAL
|
||||||
if (.not.alloc) then
|
if (.not.alloc) then
|
||||||
allocate(irp_stack(STACKMAX,nthread+1))
|
allocate(irp_stack(0:STACKMAX,nthread+1))
|
||||||
allocate(irp_cpu(STACKMAX,nthread+1))
|
allocate(irp_cpu(0:STACKMAX,nthread+1))
|
||||||
allocate(stack_index(nthread+1))
|
allocate(stack_index(nthread+1))
|
||||||
stack_index = 0
|
stack_index = 0
|
||||||
alloc = .True.
|
alloc = .True.
|
||||||
endif
|
endif
|
||||||
!$OMP END CRITICAL
|
!$OMP END CRITICAL
|
||||||
endif
|
endif
|
||||||
stack_index(ithread+1) = stack_index(ithread+1)+1
|
stack_index(ithread+1) = mod(stack_index(ithread+1)+1,STACKMAX)
|
||||||
irp_stack(stack_index(ithread+1),ithread+1) = irp_where""")
|
irp_stack(stack_index(ithread+1),ithread+1) = irp_where""")
|
||||||
if command_line.do_memory:
|
if command_line.do_memory:
|
||||||
txt+="""
|
txt+="""
|
||||||
|
@ -433,7 +433,7 @@ class Variable(object):
|
|||||||
def free(self):
|
def free(self):
|
||||||
if '_free' not in self.__dict__:
|
if '_free' not in self.__dict__:
|
||||||
name = self.name
|
name = self.name
|
||||||
result = [ "!","! >>> FREE %s"%(self.name),
|
result = [ "!","! >>> FREE %s"%(name),
|
||||||
" %s_is_built = .False."%(self.same_as) ]
|
" %s_is_built = .False."%(self.same_as) ]
|
||||||
if self.dim != []:
|
if self.dim != []:
|
||||||
if command_line.do_memory:
|
if command_line.do_memory:
|
||||||
@ -495,7 +495,10 @@ class Variable(object):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
def do_allocate():
|
def do_allocate():
|
||||||
result = " allocate(%s(%s),stat=irp_err)"
|
if command_line.coarray:
|
||||||
|
result = " allocate(%s(%s)[*],stat=irp_err)"
|
||||||
|
else:
|
||||||
|
result = " allocate(%s(%s),stat=irp_err)"
|
||||||
result = result%(name,','.join(self.dim))
|
result = result%(name,','.join(self.dim))
|
||||||
if command_line.do_memory:
|
if command_line.do_memory:
|
||||||
tmp = "\n print *, %s, 'Allocating %s(%s)'"
|
tmp = "\n print *, %s, 'Allocating %s(%s)'"
|
||||||
|
Loading…
Reference in New Issue
Block a user