<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Reallocation on assignment for derived type array with deferred-length components in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1559574#M170258</link>
    <description>&lt;P&gt;According to the &lt;A href="https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-fortran-compiler-system-requirements.html" target="_blank" rel="noopener"&gt;Fortran System Requirements&lt;/A&gt;, RHEL 7.x is not supported with 2024.0.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&amp;nbsp;&lt;SPAN&gt;Is the problem related to glibc version in RHEL 7.9?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I don't have an environment to test that idea.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 03 Jan 2024 19:01:43 GMT</pubDate>
    <dc:creator>Barbara_P_Intel</dc:creator>
    <dc:date>2024-01-03T19:01:43Z</dc:date>
    <item>
      <title>Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502523#M167112</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;The following code aids in illustrating the problem.&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;implicit none

type :: sentence
    character(:), allocatable :: lower, upper
end type

type :: list
    type(sentence), allocatable :: list(:)
end type

integer :: i, n = 7
type(list) :: a

character(*), parameter :: LOWER = 'abcdefghijklmnopqrstuvwxyz'
character(*), parameter :: UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

a%list = [sentence ::]

do i = 0, n
    if (MOD(i, 2) == 0) then
        a%list = [a%list, sentence(LOWER(:13+i), UPPER(:13-i))]
    else
        a%list = [a%list, sentence(LOWER(i+1:), UPPER(:i+1))]
    endif
enddo

do i = 1, SIZE(a%list)
    print *, i, ', lower=',a%list(i)%lower, ', upper=', a%list(i)%upper
enddo

end&lt;/LI-CODE&gt;&lt;P&gt;From the code, it's clear that the a%list%lower component shouldn't have any uppercase characters, but I get the following with the ifort compiler:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ ifort -g -O0 test.f90 &amp;amp;&amp;amp; ./a.out
           1 , lower=abcdefghijklm, upper=ABCDEFGHIJKLM
           2 , lower=cdefghijklmnopqrstuvwxyzA, upper=AB
           3 , lower=abcdefghijklmno, upper=ABCDEFGHIJK
           4 , lower=ghijklmnopqrstuvwxyzABC, upper=ABCD
           5 , lower=abcdefghijklmnopq, upper=ABCDEFGHI
           6 , lower=klmnopqrstuvwxyzABCDE, upper=ABCDEF
           7 , lower=abcdefghijklmnopqrs, upper=ABCDEFG
           8 , lower=opqrstuvwxyzABCDEFG, upper=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;Enabling the default optimizatiions mitigates the problem:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ ifort test.f90 &amp;amp;&amp;amp; ./a.out
           1 , lower=abcdefghijklm, upper=ABCDEFGHIJKLM
           2 , lower=cdefghijklmnopqrstuvwxyz, upper=AB
           3 , lower=abcdefghijklmno, upper=ABCDEFGHIJK
           4 , lower=ghijklmnopqrstuvwxyz, upper=ABCD
           5 , lower=abcdefghijklmnopq, upper=ABCDEFGHI
           6 , lower=klmnopqrstuvwxyz, upper=ABCDEF
           7 , lower=abcdefghijklmnopqrs, upper=ABCDEFG
           8 , lower=opqrstuvwxyzA, upper=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using the ifx compiler with no default optimizations seems to match expected behavior, except for the last entry:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ ifx -g -O0 test.f90 &amp;amp;&amp;amp; ./a.out
           1 , lower=abcdefghijklm, upper=ABCDEFGHIJKLM
           2 , lower=cdefghijklmnopqrstuvwxyz, upper=AB
           3 , lower=abcdefghijklmno, upper=ABCDEFGHIJK
           4 , lower=ghijklmnopqrstuvwxyz, upper=ABCD
           5 , lower=abcdefghijklmnopq, upper=ABCDEFGHI
           6 , lower=klmnopqrstuvwxyz, upper=ABCDEF
           7 , lower=abcdefghijklmnopqrs, upper=ABCDEFG
           8 , lower=opqrstuvwxy, upper=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;And the something similar happens for ifx with the default optimizations:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ ifx test.f90 &amp;amp;&amp;amp; ./a.out
           1 , lower=abcdefghijklm, upper=ABCDEFGHIJKLM
           2 , lower=cdefghijklmnopqrstuvwxyz, upper=AB
           3 , lower=abcdefghijklmno, upper=ABCDEFGHIJK
           4 , lower=ghijklmnopqrstuvwxyz, upper=ABCD
           5 , lower=abcdefghijklmnopq, upper=ABCDEFGHI
           6 , lower=klmnopqrstuvwxyz, upper=ABCDEF
           7 , lower=abcdefghijklmnopqrs, upper=ABCDEFG
           8 , lower=opqrstuvwxyzA, upper=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;These are the compiler versions:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;$ ifort -V &amp;amp;&amp;amp; ifx -V
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.9.0 Build 20230302_000000
Copyright (C) 1985-2023 Intel Corporation.  All rights reserved.

Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2023.1.0 Build 20230320
Copyright (C) 1985-2023 Intel Corporation. All rights reserved.&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 01:31:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502523#M167112</guid>
      <dc:creator>jwmwalrus</dc:creator>
      <dc:date>2023-07-07T01:31:58Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502642#M167115</link>
      <description>&lt;P&gt;I tried your code on Windows with default optimisation and no optimisation and got some different spurious variants. I suspect the array constructor is at fault as there seem to have been a number of recent bugs on this.&lt;/P&gt;&lt;LI-CODE lang="none"&gt;ifort test_dt_alloc.f90 /Od
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.9.0 Build 20230302_000000
Copyright (C) 1985-2023 Intel Corporation.  All rights reserved.

Microsoft (R) Incremental Linker Version 14.30.30709.0
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:test_dt_alloc.exe
-subsystem:console
test_dt_alloc.obj

test_dt_alloc
           1 , lower=abcdefghijklm, upper=ABCDEFGHIJKLM
           2 , lower=cdefghijklmnopqrstuvwxyzA, upper=AB
           3 , lower=abcdefghijklmno, upper=ABCDEFGHIJK
           4 , lower=ghijklmnopqrstuvwxyzABC, upper=ABCD
           5 , lower=abcdefghijklmnopq, upper=ABCDEFGHI
           6 , lower=klmnopqrstuvwxyzABCDE, upper=ABCDEF
           7 , lower=abcdefghijklmnopqrs, upper=ABCDEFG
           8 , lower=opqrstuvwxyzABCDEFG, upper=ABCDEFGH

&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;

ifort test_dt_alloc.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.9.0 Build 20230302_000000
Copyright (C) 1985-2023 Intel Corporation.  All rights reserved.

Microsoft (R) Incremental Linker Version 14.30.30709.0
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:test_dt_alloc.exe
-subsystem:console
test_dt_alloc.obj

test_dt_alloc
           1 , lower=abcdefghijklm, upper=ABCDEFGHIJKLM
           2 , lower=cdefghijklmnopqrstuvwxyz , upper=AB
           3 , lower=abcdefghijklmno, upper=ABCDEFGHIJK
           4 , lower=ghijklmnopqrstuvwxyz   , upper=ABCD
           5 , lower=abcdefghijklmnopq, upper=ABCDEFGHI
           6 , lower=klmnopqrstuvwxyz     , upper=ABCDEF
           7 , lower=abcdefghijklmnopqrs, upper=ABCDEFG
           8 , lower=opqrstuvwxyz      A, upper=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;optimisation&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 11:02:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502642#M167115</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2023-07-07T11:02:18Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502649#M167116</link>
      <description>&lt;P&gt;consider this program, which also gives interesting results!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;program test_dt_alloc2
implicit none

type :: sentence
    character(:), allocatable :: lower, upper
end type

integer :: i, n = 7
type(sentence) :: b

character(*), parameter :: LOWER = 'abcdefghijklmnopqrstuvwxyz'
character(*), parameter :: UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

do i = 0, n
    if (MOD(i, 2) == 0) then
        b = sentence(LOWER(:13+i), UPPER(:13-i))
    else
        b = sentence(LOWER(i+1:), UPPER(:i+1))
    endif
    print *, i, ', b%lower ',b%lower, ', b%upper= ', b%upper
enddo
end&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="none"&gt;ifort test_dt_alloc2.f90
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.9.0 Build 20230302_000000
Copyright (C) 1985-2023 Intel Corporation.  All rights reserved.

Microsoft (R) Incremental Linker Version 14.30.30709.0
Copyright (C) Microsoft Corporation.  All rights reserved.

-out:test_dt_alloc2.exe
-subsystem:console
test_dt_alloc2.obj

test_dt_alloc2
           0 , b%lower abcdefghijklm, b%upper= ABCDEFGHIJKLM
           1 , b%lower cdefghijklmnopqrstuvwxyz , b%upper= AB
           2 , b%lower abcdefghijklmno, b%upper= ABCDEFGHIJK
           3 , b%lower ghijklmnopqrstuvwxyz   , b%upper= ABCD
           4 , b%lower abcdefghijklmnopq, b%upper= ABCDEFGHI
           5 , b%lower klmnopqrstuvwxyz     , b%upper= ABCDEF
           6 , b%lower abcdefghijklmnopqrs, b%upper= ABCDEFG
           7 , b%lower opqrstuvwxyz      A, b%upper= ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 11:21:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502649#M167116</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2023-07-07T11:21:36Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502655#M167118</link>
      <description>&lt;P&gt;This one is well behaved. So the default constructor for sentence seem to be the problem....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;program test_dt_alloc3
implicit none
integer :: i, n = 7

character(*), parameter :: LOWER = 'abcdefghijklmnopqrstuvwxyz'
character(*), parameter :: UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

do i = 0, n
    if (MOD(i, 2) == 0) then
        print *, i, ', b%lower ',LOWER(:13+i), ', b%upper= ', UPPER(:13-i)
    else
        print *, i, ', b%lower ',LOWER(i+1:), ', b%upper= ', UPPER(:i+1)
    endif
enddo
end&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 11:31:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502655#M167118</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2023-07-07T11:31:40Z</dc:date>
    </item>
    <item>
      <title>Re:Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502656#M167119</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/296168"&gt;@jwmwalrus&lt;/a&gt;, Thanks for reporting this. I see the same thing with pre-production compilers&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/66560"&gt;@andrew_4619&lt;/a&gt;, having more reproducers is great! Thank you.&lt;/P&gt;&lt;P&gt;I'll get a bug filed today.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 07 Jul 2023 11:37:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502656#M167119</guid>
      <dc:creator>Barbara_P_Intel</dc:creator>
      <dc:date>2023-07-07T11:37:42Z</dc:date>
    </item>
    <item>
      <title>Re:Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502723#M167124</link>
      <description>&lt;P&gt;I filed CMPLRLLVM-49308 for you both. I will let you know when it's fixed.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 07 Jul 2023 16:16:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502723#M167124</guid>
      <dc:creator>Barbara_P_Intel</dc:creator>
      <dc:date>2023-07-07T16:16:07Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502787#M167128</link>
      <description>&lt;P&gt;Hi.&lt;BR /&gt;&lt;BR /&gt;It's funny how, by trying to simplify the test case as much as possible, I stumbled upon a different thing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the original code, the issue is with reallocation on assignment when the derived type has a deferred-length character component (and the workaround is to use MOVE_ALLOC).&lt;/P&gt;&lt;P&gt;The following code (which could be shortened further, I admit) illustrates the problem:&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;module tables
    implicit none
    private
    save

    type, public :: table_entry
        character(:), allocatable :: key
        character(:), allocatable :: val
    end type

    interface table_entry
        module procedure table_entry_new
    end interface

    type, public :: table
        type(table_entry), allocatable :: storage(:)
    contains
        procedure, private :: add_entry1
        generic :: add =&amp;gt; add_entry1
    end type

contains
    function table_entry_new(i, k, v) result(new)
        type(table_entry) :: new
        integer, intent(in) :: i
        character(*), intent(in) :: k, v
        new%key = k
        new%val = v
    end function

    subroutine add_entry1(this, kv)
        class(table), intent(inout) :: this
        type(table_entry), intent(in) :: kv
        integer :: i

        print'(/a)','value to add:'
        print*,'key=',kv%key,', val=',kv%val

        print '(/a)','storage, before adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo

        this%storage = [this%storage, kv]

        print'(/a)','storage, after adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo
    end subroutine
end module tables

use tables

implicit none

integer :: i, n = 7
type(table) :: h
type(table_entry) :: kv
character(*), parameter :: LOWER = 'abcdefghijklmnopqrstuvwxyz'
character(*), parameter :: UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

h%storage = [table_entry :: ]

do i = 0, n
    if (MOD(i, 2) == 0) then
        kv = table_entry(i, LOWER(:13+i), UPPER(:13-i))
    else
        kv = table_entry(i, LOWER(i+1:), UPPER(:i+1))
    endif
    call h%add(kv)
enddo
end&lt;/LI-CODE&gt;&lt;P&gt;Please notice that I'm using a custom constructor.&lt;/P&gt;&lt;P&gt;Here's the output:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ ifort test.f90 &amp;amp;&amp;amp; ./a.out 

value to add:
 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, before adding:

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

value to add:
 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, after adding:
           1 key=abcdefghijklm, val=��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

value to add:
 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, before adding:
           1 key=abcdefghijklm, val=��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, after adding:
           1 key=abcdefghijklm, val=0 �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

value to add:
 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, before adding:
           1 key=abcdefghijklm, val=0 �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=��
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

value to add:
 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=��
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

value to add:
 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

value to add:
 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

value to add:
 key=hijklmnopqrstuvwxyz, val=ABCDEFGH

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=bcdefghijklmnopqrst, val=ABCDEFG
           8 key=hijklmnopqrstuvwxyz, val=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;In the original code, the table, when saved to a file, contains some caret notation symbols, so I guess this test is much closer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And this is the output using gfortran:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ gfortran test.f90 &amp;amp;&amp;amp; ./a.out 

value to add:
 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, before adding:

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

value to add:
 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

value to add:
 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

value to add:
 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

value to add:
 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

value to add:
 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

value to add:
 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

value to add:
 key=hijklmnopqrstuvwxyz, val=ABCDEFGH

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG
           8 key=hijklmnopqrstuvwxyz, val=ABCDEFGH
&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 18:15:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502787#M167128</guid>
      <dc:creator>jwmwalrus</dc:creator>
      <dc:date>2023-07-07T18:15:04Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502802#M167129</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;It's funny how, by trying to simplify the test case as much as possible, I stumbled upon a different thing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the original code, the issue is with reallocation on assignment when the derived type has a deferred-length character component (and the workaround is to use MOVE_ALLOC).&lt;/P&gt;&lt;P&gt;The following code (which could be shortened further, I admit) illustrates the problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;module tables
    implicit none
    private
    save

    type, public :: table_entry
        character(:), allocatable :: key
        character(:), allocatable :: val
    end type

    interface table_entry
        module procedure table_entry_new
    end interface

    type, public :: table
        type(table_entry), allocatable :: storage(:)
    contains
        procedure, private :: add_entry1
        generic :: add =&amp;gt; add_entry1
    end type

contains
    function table_entry_new(i, k, v) result(new)
        type(table_entry) :: new
        integer, intent(in) :: i
        character(*), intent(in) :: k, v
        new%key = k
        new%val = v
    end function

    subroutine add_entry1(this, kv)
        class(table), intent(inout) :: this
        type(table_entry), intent(in) :: kv
        integer :: i

        print'(/a)','value to add:'
        print*,'key=',kv%key,', val=',kv%val

        print '(/a)','storage, before adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo

        this%storage = [this%storage, kv]

        print'(/a)','storage, after adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo
    end subroutine
end module tables

use tables

implicit none

integer :: i, n = 7
type(table) :: h
type(table_entry) :: kv
character(*), parameter :: LOWER = 'abcdefghijklmnopqrstuvwxyz'
character(*), parameter :: UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

h%storage = [table_entry :: ]

do i = 0, n
    if (MOD(i, 2) == 0) then
        kv = table_entry(i, LOWER(:13+i), UPPER(:13-i))
    else
        kv = table_entry(i, LOWER(i+1:), UPPER(:i+1))
    endif
    call h%add(kv)
enddo
end&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please notice that I'm using a custom constructor.&lt;/P&gt;&lt;P&gt;Here's the output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ ifort test.f90 &amp;amp;&amp;amp; ./a.out 

value to add:
 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, before adding:

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

value to add:
 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, after adding:
           1 key=abcdefghijklm, val=��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

value to add:
 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, before adding:
           1 key=abcdefghijklm, val=��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, after adding:
           1 key=abcdefghijklm, val=0 �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

value to add:
 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, before adding:
           1 key=abcdefghijklm, val=0 �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=��
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

value to add:
 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=��
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

value to add:
 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

value to add:
 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

value to add:
 key=hijklmnopqrstuvwxyz, val=ABCDEFGH

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=bcdefghijklmnopqrst, val=ABCDEFG
           8 key=hijklmnopqrstuvwxyz, val=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the original code, the table is saved to a file and contains some caret notation symbols, so I guess this test is much closer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 19:18:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502802#M167129</guid>
      <dc:creator>jwmwalrus</dc:creator>
      <dc:date>2023-07-07T19:18:00Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502848#M167134</link>
      <description>&lt;P&gt;Btw, it seems that editing a post in this forum, makes it disappear completely.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 21:20:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502848#M167134</guid>
      <dc:creator>jwmwalrus</dc:creator>
      <dc:date>2023-07-07T21:20:21Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502868#M167135</link>
      <description>&lt;P&gt;(Reposted, since it got deleted.)&lt;BR /&gt;&lt;BR /&gt;Hi.&lt;/P&gt;&lt;P&gt;It's funny how, by trying to simplify the test case as much as possible, I stumbled upon a different thing.&lt;/P&gt;&lt;P&gt;In the original code, the issue is with reallocation on assignment when the derived type has a deferred-length character component (and the workaround is to use MOVE_ALLOC).&lt;/P&gt;&lt;P&gt;The following code (which could be shortened further, I admit) illustrates the problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;module tables
    implicit none
    private
    save

    type, public :: table_entry
        character(:), allocatable :: key
        character(:), allocatable :: val
    end type

    interface table_entry
        module procedure table_entry_new
    end interface

    type, public :: table
        type(table_entry), allocatable :: storage(:)
    contains
        procedure, private :: add_entry1
        generic :: add =&amp;gt; add_entry1
    end type

contains
    function table_entry_new(i, k, v) result(new)
        type(table_entry) :: new
        integer, intent(in) :: i
        character(*), intent(in) :: k, v
        new%key = k
        new%val = v
    end function

    subroutine add_entry1(this, kv)
        class(table), intent(inout) :: this
        type(table_entry), intent(in) :: kv
        integer :: i

        print'(/a)','value to add:'
        print*,'key=',kv%key,', val=',kv%val

        print '(/a)','storage, before adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo

        this%storage = [this%storage, kv]

        print'(/a)','storage, after adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo
    end subroutine
end module tables

use tables

implicit none

integer :: i, n = 7
type(table) :: h
type(table_entry) :: kv
character(*), parameter :: LOWER = 'abcdefghijklmnopqrstuvwxyz'
character(*), parameter :: UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

h%storage = [table_entry :: ]

do i = 0, n
    if (MOD(i, 2) == 0) then
        kv = table_entry(i, LOWER(:13+i), UPPER(:13-i))
    else
        kv = table_entry(i, LOWER(i+1:), UPPER(:i+1))
    endif
    call h%add(kv)
enddo
end&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please notice that I'm using a custom constructor.&lt;/P&gt;&lt;P&gt;Here's the output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ ifort test.f90 &amp;amp;&amp;amp; ./a.out 

value to add:
 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, before adding:

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

value to add:
 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, after adding:
           1 key=abcdefghijklm, val=��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

value to add:
 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, before adding:
           1 key=abcdefghijklm, val=��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, after adding:
           1 key=abcdefghijklm, val=0 �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

value to add:
 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, before adding:
           1 key=abcdefghijklm, val=0 �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=��
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

value to add:
 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=��
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

value to add:
 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

value to add:
 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

value to add:
 key=hijklmnopqrstuvwxyz, val=ABCDEFGH

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key=��I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=bcdefghijklmnopqrst, val=ABCDEFG
           8 key=hijklmnopqrstuvwxyz, val=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the original code, the table is saved to a file and contains some caret notation symbols, so I guess this test is much closer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jul 2023 22:06:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1502868#M167135</guid>
      <dc:creator>jwmwalrus</dc:creator>
      <dc:date>2023-07-07T22:06:53Z</dc:date>
    </item>
    <item>
      <title>Re:Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1503013#M167154</link>
      <description>&lt;P&gt;Thanks for another reproducer! I added it to the bug report.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 09 Jul 2023 11:26:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1503013#M167154</guid>
      <dc:creator>Barbara_P_Intel</dc:creator>
      <dc:date>2023-07-09T11:26:01Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1515224#M167770</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/296168"&gt;@jwmwalrus&lt;/a&gt;&amp;nbsp;we have a fix in the works for this one.&amp;nbsp; Look for it in 2024.0&lt;/P&gt;</description>
      <pubDate>Thu, 17 Aug 2023 23:27:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1515224#M167770</guid>
      <dc:creator>Ron_Green</dc:creator>
      <dc:date>2023-08-17T23:27:00Z</dc:date>
    </item>
    <item>
      <title>Re:Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1546120#M169299</link>
      <description>&lt;P&gt;The reproducers are printing the correct results for both ifx and ifort with the compilers that were released earlier this week.&lt;/P&gt;&lt;P&gt;Please check out the new compiler versions!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 21 Nov 2023 16:53:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1546120#M169299</guid>
      <dc:creator>Barbara_P_Intel</dc:creator>
      <dc:date>2023-11-21T16:53:22Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1546966#M169380</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;Thanks for the follow-up.&lt;/P&gt;&lt;P&gt;I'm still getting similar behavior with the latest version of ifort/ifx:&lt;/P&gt;&lt;P&gt;This is the code (same as the one posted above):&lt;/P&gt;&lt;LI-CODE lang="fortran"&gt;module tables
    implicit none
    private
    save

    type, public :: table_entry
        character(:), allocatable :: key
        character(:), allocatable :: val
    end type

    interface table_entry
        module procedure table_entry_new
    end interface

    type, public :: table
        type(table_entry), allocatable :: storage(:)
    contains
        procedure, private :: add_entry1
        generic :: add =&amp;gt; add_entry1
    end type

contains
    function table_entry_new(i, k, v) result(new)
        type(table_entry) :: new
        integer, intent(in) :: i
        character(*), intent(in) :: k, v
        new%key = k
        new%val = v
    end function

    subroutine add_entry1(this, kv)
        class(table), intent(inout) :: this
        type(table_entry), intent(in) :: kv
        integer :: i

        print'(/a)','value to add:'
        print*,'key=',kv%key,', val=',kv%val

        print '(/a)','storage, before adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo

        this%storage = [this%storage, kv]

        print'(/a)','storage, after adding:'
        do i = 1, SIZE(this%storage)
            print *,i,'key=',this%storage(i)%key,', val=',this%storage(i)%val
        enddo
    end subroutine
end module tables

use tables

implicit none

integer :: i, n = 7
type(table) :: h
type(table_entry) :: kv
character(*), parameter :: LOWER = 'abcdefghijklmnopqrstuvwxyz'
character(*), parameter :: UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

h%storage = [table_entry :: ]

do i = 0, n
    if (MOD(i, 2) == 0) then
        kv = table_entry(i, LOWER(:13+i), UPPER(:13-i))
    else
        kv = table_entry(i, LOWER(i+1:), UPPER(:i+1))
    endif
    call h%add(kv)
enddo
end&lt;/LI-CODE&gt;&lt;P&gt;And this is the output I get:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;(ins)$ ifx -V test.f90 &amp;amp;&amp;amp; ./a.out
Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2024.0.0 Build 20231017
Copyright (C) 1985-2023 Intel Corporation. All rights reserved.

 Intel(R) Fortran 24.0-1238.2
GNU ld (GNU Binutils for Debian) 2.41

value to add:
 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, before adding:

storage, after adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

value to add:
 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, before adding:
           1 key=abcdefghijklm, val=ABCDEFGHIJKLM

storage, after adding:
           1 key=abcdefghijklm, val= �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

value to add:
 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, before adding:
           1 key=abcdefghijklm, val= �I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB

storage, after adding:
           1 key=abcdefghijklm, val=0��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

value to add:
 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, before adding:
           1 key=abcdefghijklm, val=0��I
           2 key=bcdefghijklmnopqrstuvwxyz, val=AB
           3 key=abcdefghijklmno, val=ABCDEFGHIJK

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val= �
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

value to add:
 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val= �
           3 key=abcdefghijklmno, val=ABCDEFGHIJK
           4 key=defghijklmnopqrstuvwxyz, val=ABCD

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key= �I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

value to add:
 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key= �I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=abcdefghijklmnopq, val=ABCDEFGHI

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key= �I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

value to add:
 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key= �I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=fghijklmnopqrstuvwxyz, val=ABCDEF

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key= �I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

value to add:
 key=hijklmnopqrstuvwxyz, val=ABCDEFGH

storage, before adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key= �I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=abcdefghijklmnopqrs, val=ABCDEFG

storage, after adding:
           1 key=abcdefghijklm, val=abcdefghijklm
           2 key=bcdefghijklmnopqrstuvwxyz, val=ab
           3 key= �I, val=ABCDEFGHIJK
           4 key=bcdefghijklmnopqrstuvwx, val=ABCD
           5 key=bcdefghijklmnopqr, val=ABCDEFGHI
           6 key=bcdefghijklmnopqrstuv, val=ABCDEF
           7 key=bcdefghijklmnopqrst, val=ABCDEFG
           8 key=hijklmnopqrstuvwxyz, val=ABCDEFGH&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2023 19:48:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1546966#M169380</guid>
      <dc:creator>jwmwalrus</dc:creator>
      <dc:date>2023-11-23T19:48:12Z</dc:date>
    </item>
    <item>
      <title>Re:Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1547959#M169468</link>
      <description>&lt;P&gt;Well, heck! I tried it before I posted the news and I thought printed correctly. But it doesn't.&lt;/P&gt;&lt;P&gt;I'll let the compiler person know.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 27 Nov 2023 19:53:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1547959#M169468</guid>
      <dc:creator>Barbara_P_Intel</dc:creator>
      <dc:date>2023-11-27T19:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1554711#M170027</link>
      <description>&lt;P&gt;I have a similar problem that seems to point to a different origin of this bug.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Suppose that in the original code by&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/296168"&gt;@jwmwalrus&lt;/a&gt;&amp;nbsp;one redefines the type sentence:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;type&lt;/SPAN&gt; &lt;SPAN class=""&gt;::&lt;/SPAN&gt;&lt;SPAN&gt; sentence &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; character&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;allocatable&lt;/SPAN&gt; &lt;SPAN class=""&gt;::&lt;/SPAN&gt;&lt;SPAN&gt; lower&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;SPAN&gt; upper &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;end type&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;to a new one like that:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;type :: sentence&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; real, allocatable :: A(:)&lt;/P&gt;&lt;P&gt;&amp;nbsp; ! real, pointer :: A(:)&lt;/P&gt;&lt;P&gt;end type&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note the option to declare the component A as a pointer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my code, the component A is corrupted after reallocation of a%list if A is allocatable. But A is NOT corrupted after reallocation of a%list if A is a pointer that is allocated before it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thus, I believe this bug is not triggered by reallocation only.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this reply helps.&lt;/P&gt;&lt;P&gt;I can post a snippet code if necessary.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2023 16:03:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1554711#M170027</guid>
      <dc:creator>Adelson_BR</dc:creator>
      <dc:date>2023-12-16T16:03:08Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1555237#M170052</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/329564"&gt;@Adelson_BR&lt;/a&gt;, a complete reproducer would be useful! The compiler team likes to confirm fixes against multiple examples.&lt;/P&gt;</description>
      <pubDate>Mon, 18 Dec 2023 20:14:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1555237#M170052</guid>
      <dc:creator>Barbara_P_Intel</dc:creator>
      <dc:date>2023-12-18T20:14:32Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1557816#M170179</link>
      <description>&lt;P&gt;Hi, Barbara_P_Intel,&lt;/P&gt;&lt;P&gt;Sorry for the delay.&lt;/P&gt;&lt;P&gt;The folowing code reproduces the bug and also shows that using pointers prevents the bug.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The idea is to work with a structure (C) that contains another struture (C(#)%B) that in turn contains matrices A (C(#)%B(#)%A). Reallocations of C and C(#)%B are made in a subroutine but one could reproduce the bug in a DO loop as &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/296168"&gt;@jwmwalrus&lt;/a&gt;&amp;nbsp; did. Like the problem reported by &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/296168"&gt;@jwmwalrus&lt;/a&gt;, the content of matrix A is corrupted when C(#)%B is reallocated.&lt;/P&gt;&lt;P&gt;The code is in the attached file teste_realoca_tipos.f90.&lt;/P&gt;&lt;P&gt;I've tried ifx and ifort 2023. I also tried gfortran. Gfortran does not even compile for versions up to 12 but Gfortran works fine for versions 13+.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Dec 2023 13:01:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1557816#M170179</guid>
      <dc:creator>Adelson_BR</dc:creator>
      <dc:date>2023-12-27T13:01:22Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1557817#M170180</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/44501"&gt;@Barbara_P_Intel&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did not test this with ifort 2024 yet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Dec 2023 13:03:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1557817#M170180</guid>
      <dc:creator>Adelson_BR</dc:creator>
      <dc:date>2023-12-27T13:03:44Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Reallocation on assignment for derived type array with deferred-length components</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1557901#M170192</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/296168"&gt;@jwmwalrus&lt;/a&gt;,&amp;nbsp;the two cases you posted actually two different bugs according to the compiler engineer. Both will be fixed in 2024.1.0 due to be available in a few months.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Dec 2023 17:17:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Reallocation-on-assignment-for-derived-type-array-with-deferred/m-p/1557901#M170192</guid>
      <dc:creator>Barbara_P_Intel</dc:creator>
      <dc:date>2023-12-27T17:17:25Z</dc:date>
    </item>
  </channel>
</rss>

