<?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 recursive derived type + OpenMP: compilation problem in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/recursive-derived-type-OpenMP-compilation-problem/m-p/1746056#M178760</link>
    <description>&lt;P&gt;Dear developers,&lt;BR /&gt;&lt;BR /&gt;I want to report a compilation problem with ifx-2024.&lt;/P&gt;&lt;P&gt;I don't have access to more recent versions, so may be it already fixed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I’ve encountered a problem with a recursive derived type when used with OpenMP (it a follows up of a discussion on discourse &lt;A href="https://fortran-lang.discourse.group/t/recursively-defined-derived-types-bug-in-gfortran/2416" target="_blank"&gt;https://fortran-lang.discourse.group/t/recursively-defined-derived-types-bug-in-gfortran/2416&lt;/A&gt;) and it might be related to an old bug:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.intel.com/t5/Intel-Fortran-Compiler/Recursive-derived-type-compiler-crash/m-p/1164154" target="_blank"&gt;https://community.intel.com/t5/Intel-Fortran-Compiler/Recursive-derived-type-compiler-crash/m-p/1164154&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;program chkrecursive
    implicit none

    type recu_t
        integer :: chk
        type(recu_t), allocatable :: next           ! with fortran:  compilation fatal error with OpenMP. 
                                                    ! With ifx: the compilation does not stop with OpenMP!!
        !type(recu_t), pointer     :: next =&amp;gt; null() ! compilation and execution ok with gfortran and ifx
    end type recu_t

    type(recu_t) :: chain2

!$OMP   PARALLEL &amp;amp;
!$OMP   DEFAULT(NONE) &amp;amp;
!$OMP   PRIVATE(chain2)
    chain2%chk=0
    write(*,*) 'chain2%chk',chain2%chk
!$OMP   END PARALLEL

end program chkrecursive&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The compilation:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;With ifx (2024) and with OpenMP, on linux&lt;BR /&gt;=&amp;gt; the compilation does not stop.&amp;nbsp;I've to kill the process after few minutes.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;With ifort (2024) and with OpenMP, on linux&lt;BR /&gt;=&amp;gt; The compilation and the execution work as expected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;When the “allocatable” (line 10) is replaced by a “pointer” (line 11) or when the OpenMP is turned off. The compilation and the execution work as expected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
    <pubDate>Tue, 28 Apr 2026 10:58:47 GMT</pubDate>
    <dc:creator>DLauvergn</dc:creator>
    <dc:date>2026-04-28T10:58:47Z</dc:date>
    <item>
      <title>recursive derived type + OpenMP: compilation problem</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/recursive-derived-type-OpenMP-compilation-problem/m-p/1746056#M178760</link>
      <description>&lt;P&gt;Dear developers,&lt;BR /&gt;&lt;BR /&gt;I want to report a compilation problem with ifx-2024.&lt;/P&gt;&lt;P&gt;I don't have access to more recent versions, so may be it already fixed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I’ve encountered a problem with a recursive derived type when used with OpenMP (it a follows up of a discussion on discourse &lt;A href="https://fortran-lang.discourse.group/t/recursively-defined-derived-types-bug-in-gfortran/2416" target="_blank"&gt;https://fortran-lang.discourse.group/t/recursively-defined-derived-types-bug-in-gfortran/2416&lt;/A&gt;) and it might be related to an old bug:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.intel.com/t5/Intel-Fortran-Compiler/Recursive-derived-type-compiler-crash/m-p/1164154" target="_blank"&gt;https://community.intel.com/t5/Intel-Fortran-Compiler/Recursive-derived-type-compiler-crash/m-p/1164154&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;program chkrecursive
    implicit none

    type recu_t
        integer :: chk
        type(recu_t), allocatable :: next           ! with fortran:  compilation fatal error with OpenMP. 
                                                    ! With ifx: the compilation does not stop with OpenMP!!
        !type(recu_t), pointer     :: next =&amp;gt; null() ! compilation and execution ok with gfortran and ifx
    end type recu_t

    type(recu_t) :: chain2

!$OMP   PARALLEL &amp;amp;
!$OMP   DEFAULT(NONE) &amp;amp;
!$OMP   PRIVATE(chain2)
    chain2%chk=0
    write(*,*) 'chain2%chk',chain2%chk
!$OMP   END PARALLEL

end program chkrecursive&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The compilation:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;With ifx (2024) and with OpenMP, on linux&lt;BR /&gt;=&amp;gt; the compilation does not stop.&amp;nbsp;I've to kill the process after few minutes.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;With ifort (2024) and with OpenMP, on linux&lt;BR /&gt;=&amp;gt; The compilation and the execution work as expected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;When the “allocatable” (line 10) is replaced by a “pointer” (line 11) or when the OpenMP is turned off. The compilation and the execution work as expected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Tue, 28 Apr 2026 10:58:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/recursive-derived-type-OpenMP-compilation-problem/m-p/1746056#M178760</guid>
      <dc:creator>DLauvergn</dc:creator>
      <dc:date>2026-04-28T10:58:47Z</dc:date>
    </item>
  </channel>
</rss>

