<?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 Wrong(?) Warning 8450 with multiple user defined operators in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088528#M123577</link>
    <description>&lt;P&gt;Hello, the example below produces two warnings #8450:&lt;/P&gt;

&lt;P&gt;"The type/rank signature for this specific function and its arguments matches another specific function that shares the same OPERATOR generic binding.&amp;nbsp;&amp;nbsp; [BINARY_OP_B]"&lt;BR /&gt;
	"The type/rank signature for this specific function and its arguments matches another specific function that shares the same OPERATOR generic binding.&amp;nbsp;&amp;nbsp; [BINARY_OP_C]"&lt;/P&gt;

&lt;P&gt;The warnings disappear, when the unitary operator binding (line 24) is commented out.&lt;BR /&gt;
	Is this a bug? Or am i doing something wrong?&lt;/P&gt;

&lt;P&gt;Greetings&lt;BR /&gt;
	Wolf&lt;/P&gt;

&lt;P&gt;Compiler: 15.5 and 16.1&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;module FOO
  implicit none

!=================================================================
  type, abstract :: ABSTRACT_TYPE
  contains

    procedure :: binary_op_A
    generic :: operator(.A.) =&amp;gt; binary_op_A

    procedure :: binary_op_B
    generic :: operator(.B.) =&amp;gt; binary_op_B

    procedure :: binary_op_C
    generic :: operator(.C.) =&amp;gt; binary_op_C

  end type ABSTRACT_TYPE

!=================================================================
  type, extends (ABSTRACT_TYPE) :: EXTENDED_TYPE
  contains

    procedure :: unitary_op
    generic :: operator(.U.) =&amp;gt; unitary_op !no warning without this line
    generic :: normiere =&amp;gt; unitary_op

  end type EXTENDED_TYPE

!=================================================================
contains
!=================================================================

  elemental function unitary_op(rhs) result(res)
    class(EXTENDED_TYPE), intent(in   ) :: rhs
    type(EXTENDED_TYPE)                 :: res
  end function unitary_op

  elemental function binary_op_A(lhs, rhs) result(res)
    class(ABSTRACT_TYPE), intent(in   ) :: lhs, rhs
    real                                :: res
  end function binary_op_A

  elemental function binary_op_B(lhs, rhs) result(res)
    class(ABSTRACT_TYPE), intent(in   ) :: lhs, rhs
    type(EXTENDED_TYPE)                 :: res
  end function binary_op_B

  elemental function binary_op_C(lhs, rhs) result(res)
    class(ABSTRACT_TYPE), intent(in   ) :: lhs, rhs
    real                                :: res
  end function binary_op_C

!=================================================================
end module FOO

&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 15 Jan 2016 12:15:39 GMT</pubDate>
    <dc:creator>Wolf_W_</dc:creator>
    <dc:date>2016-01-15T12:15:39Z</dc:date>
    <item>
      <title>Wrong(?) Warning 8450 with multiple user defined operators</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088528#M123577</link>
      <description>&lt;P&gt;Hello, the example below produces two warnings #8450:&lt;/P&gt;

&lt;P&gt;"The type/rank signature for this specific function and its arguments matches another specific function that shares the same OPERATOR generic binding.&amp;nbsp;&amp;nbsp; [BINARY_OP_B]"&lt;BR /&gt;
	"The type/rank signature for this specific function and its arguments matches another specific function that shares the same OPERATOR generic binding.&amp;nbsp;&amp;nbsp; [BINARY_OP_C]"&lt;/P&gt;

&lt;P&gt;The warnings disappear, when the unitary operator binding (line 24) is commented out.&lt;BR /&gt;
	Is this a bug? Or am i doing something wrong?&lt;/P&gt;

&lt;P&gt;Greetings&lt;BR /&gt;
	Wolf&lt;/P&gt;

&lt;P&gt;Compiler: 15.5 and 16.1&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;module FOO
  implicit none

!=================================================================
  type, abstract :: ABSTRACT_TYPE
  contains

    procedure :: binary_op_A
    generic :: operator(.A.) =&amp;gt; binary_op_A

    procedure :: binary_op_B
    generic :: operator(.B.) =&amp;gt; binary_op_B

    procedure :: binary_op_C
    generic :: operator(.C.) =&amp;gt; binary_op_C

  end type ABSTRACT_TYPE

!=================================================================
  type, extends (ABSTRACT_TYPE) :: EXTENDED_TYPE
  contains

    procedure :: unitary_op
    generic :: operator(.U.) =&amp;gt; unitary_op !no warning without this line
    generic :: normiere =&amp;gt; unitary_op

  end type EXTENDED_TYPE

!=================================================================
contains
!=================================================================

  elemental function unitary_op(rhs) result(res)
    class(EXTENDED_TYPE), intent(in   ) :: rhs
    type(EXTENDED_TYPE)                 :: res
  end function unitary_op

  elemental function binary_op_A(lhs, rhs) result(res)
    class(ABSTRACT_TYPE), intent(in   ) :: lhs, rhs
    real                                :: res
  end function binary_op_A

  elemental function binary_op_B(lhs, rhs) result(res)
    class(ABSTRACT_TYPE), intent(in   ) :: lhs, rhs
    type(EXTENDED_TYPE)                 :: res
  end function binary_op_B

  elemental function binary_op_C(lhs, rhs) result(res)
    class(ABSTRACT_TYPE), intent(in   ) :: lhs, rhs
    real                                :: res
  end function binary_op_C

!=================================================================
end module FOO

&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2016 12:15:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088528#M123577</guid>
      <dc:creator>Wolf_W_</dc:creator>
      <dc:date>2016-01-15T12:15:39Z</dc:date>
    </item>
    <item>
      <title>To me, the compiler warnings</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088529#M123578</link>
      <description>&lt;P&gt;To me, the compiler warnings of 8450 seem spurious for the code shown in the original post.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2016 14:33:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088529#M123578</guid>
      <dc:creator>FortranFan</dc:creator>
      <dc:date>2016-01-15T14:33:29Z</dc:date>
    </item>
    <item>
      <title>That is weird...  Escalated</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088530#M123579</link>
      <description>&lt;P&gt;That is weird... &amp;nbsp;Escalated as issue&amp;nbsp;DPD200380766.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2016 17:23:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088530#M123579</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2016-01-15T17:23:50Z</dc:date>
    </item>
    <item>
      <title>Fixed for a release later</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088531#M123580</link>
      <description>&lt;P&gt;Fixed for a release later this year.&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2016 13:46:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Wrong-Warning-8450-with-multiple-user-defined-operators/m-p/1088531#M123580</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2016-03-29T13:46:08Z</dc:date>
    </item>
  </channel>
</rss>

