<?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 I've reduced the function to in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082516#M122246</link>
    <description>&lt;P&gt;I've reduced the function to intrinsic variable types and hard wired data.&amp;nbsp; There&amp;nbsp;are no parameters.&amp;nbsp; The behavior is the same - F10 off the function declaration and throw a Floating-point invalid exception.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;The call:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sarea = AREABU()&lt;/P&gt;

&lt;P&gt;The function:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4 FUNCTION AREABU ()&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;/P&gt;

&lt;DIV&gt;c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; include 'inv.h'&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer*4 idxOFlange, idxIFlange, idxWeb&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4 D&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logical*4&amp;nbsp;holes, tl, isARafter&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp;net&amp;nbsp; /0.0/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp;bf /0.0/, tf/0.0/, bf2/0.0/, tf2/0.0/, tw /0.0/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp; girtBoltDiameter /0.5/, purlinBoltDiameter /0.5/&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; holes = .false.&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tl = .false.&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isARafter = .false.&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf = 5.0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tf = 0.3125&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = 5.0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = 0.3125&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tw = 0.1875&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D = 27.75&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (holes) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (tl) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isARafter) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf2 - 2.0 * (purlinBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf2 - 2.0 * (girtBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = min(bf2, 5.0/6.0 * 70/55&amp;nbsp; * net)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isARafter) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf - 2.0 * (purlinBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf - 2.0 * (girtBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf = min(bf, 5.0/6.0 * 70/55 * net)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AREABU = BF*TF + BF2*TF2 + (D-TF-TF2)*TW&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;/DIV&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 30 Jan 2017 20:42:56 GMT</pubDate>
    <dc:creator>fourreal</dc:creator>
    <dc:date>2017-01-30T20:42:56Z</dc:date>
    <item>
      <title>Floating point invalid operation</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082502#M122232</link>
      <description>&lt;P&gt;I've just upgraded&amp;nbsp;to Fortran 2016 from 2013 and now throw a floating point invalid operation exception 0x90.&amp;nbsp; The error is trapped at the declaration of a function.&amp;nbsp; I've reduced to the parameter list to a few reals and integers, and the parameters look good before the function is called and at the top of the function.&amp;nbsp; The exception is thrown before the first executable statement of the function.&lt;/P&gt;

&lt;P&gt;I have tried different /fpe settings, debug &amp;amp; release, and throwing salt over my shoulder.&amp;nbsp; Any help would be appreciated.&lt;/P&gt;

&lt;P&gt;Windows 10, Visual Studio 2015&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 14:49:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082502#M122232</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T14:49:19Z</dc:date>
    </item>
    <item>
      <title>Can you post the code so that</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082503#M122233</link>
      <description>&lt;P&gt;Can you post the code so that people can reproduce the problem? Without it we can only speculate.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 14:53:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082503#M122233</guid>
      <dc:creator>Arjen_Markus</dc:creator>
      <dc:date>2017-01-30T14:53:14Z</dc:date>
    </item>
    <item>
      <title>From the description, "The</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082504#M122234</link>
      <description>&lt;P&gt;From the description, "The error is trapped at the declaration of a function", I gather that you observed the code in a symbolic debugger. But, since declarations are not executable statements, the actual location of the FPE is somewhere nearby, either in the code that sets up the call, or in the code near the beginning of the routine.&lt;/P&gt;

&lt;P&gt;Since we run code every day that matches your description and runs without triggering FPEs, there must be some specific problem with your particular code. As Arjen said, you will need to provide sample code or, even better, a complete reproducer.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 15:23:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082504#M122234</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2017-01-30T15:23:55Z</dc:date>
    </item>
    <item>
      <title>The code:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082505#M122235</link>
      <description>&lt;P&gt;The code:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4 FUNCTION AREABU (idxOFlange, idxIFlange, idxWeb, D, holes, tl, isARafter)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;/P&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; include 'inv.h'&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer idxOFlange, idxIFlange, idxWeb&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4 D&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer&amp;nbsp;holes, tl, isARafter&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp;net&amp;nbsp; /0.0/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp;bf /0.0/, tf/0.0/, bf2/0.0/, tf2/0.0/, tw /0.0/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp; girtBoltDiameter /0.5/, purlinBoltDiameter /0.5/&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(flange_data), pointer :: ifPtr, ofPtr&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(web_data), pointer :: webPtr&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ifPtr =&amp;gt; flange(idxIFlange)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf&amp;nbsp; = ifPtr.width&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tf&amp;nbsp; = ifPtr.thickness&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ofPtr =&amp;gt; flange(idxOFlange)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = ofPtr.width&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tf2 = ofPtr.thickness&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; webPtr =&amp;gt; web(idxWeb)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tw&amp;nbsp; = webPtr.thickness&lt;BR /&gt;
	&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (holes) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (tl) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isARafter) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf2 - 2.0 * (purlinBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf2 - 2.0 * (girtBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = min(bf2, 5.0/6.0 * ofPtr.Fu/ ofPtr.Fy * net)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isARafter) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf - 2.0 * (purlinBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf - 2.0 * (girtBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf = min(bf, 5.0/6.0 * ifPtr.Fu/ ifPtr.Fy * net)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AREABU = BF*TF + BF2*TF2 + (D-TF-TF2)*TW&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;The debug output just before the crash:&lt;/DIV&gt;

&lt;DIV&gt;idxOFlange = 2, idxIFlange = 2, idxWeb = 333&lt;/DIV&gt;

&lt;DIV&gt;D = 27.75, holes = 0, tl = 0, isARafter = 0&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;This accurately reflects the values passed.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Mon, 30 Jan 2017 15:46:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082505#M122235</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T15:46:55Z</dc:date>
    </item>
    <item>
      <title>That is one part, the next</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082506#M122236</link>
      <description>&lt;P&gt;That is one part, the next one is: what does the code look like that calls the routine? Please try to make it so that we can create a program from this - a "reproducer".&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 15:52:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082506#M122236</guid>
      <dc:creator>Arjen_Markus</dc:creator>
      <dc:date>2017-01-30T15:52:04Z</dc:date>
    </item>
    <item>
      <title>Does this function crash the</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082507#M122237</link>
      <description>&lt;P&gt;Does this function crash the first time it is called?&amp;nbsp;&lt;SPAN style="font-size: 12px;"&gt;&amp;nbsp;real*4&amp;nbsp;net&amp;nbsp; /0.0/, for example net is reasssigned so may not be zero or may be uninitialised dependant upon compiler options on a subsequent call. the dot in&amp;nbsp;&amp;nbsp;ifPtr.width is not standard fortran it should be a % BTW.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 16:23:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082507#M122237</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2017-01-30T16:23:25Z</dc:date>
    </item>
    <item>
      <title>Because your code contains</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082508#M122238</link>
      <description>&lt;P&gt;Because your code contains user-defined types, which I presume are declared in the include file "inv.h", &lt;SPAN style="font-size: 16.26px;"&gt;&amp;nbsp;not much can be said or done&amp;nbsp;&lt;/SPAN&gt;unless the include file is provided.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 16:33:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082508#M122238</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2017-01-30T16:33:44Z</dc:date>
    </item>
    <item>
      <title> </title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082509#M122239</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;This is the simplified calling code:&lt;BR /&gt;
	real*4&amp;nbsp;&amp;nbsp; d,&amp;nbsp;&amp;nbsp;sarea&lt;BR /&gt;
	integer isFalse&lt;BR /&gt;
	isFalse = 0&lt;BR /&gt;
	sarea = AREABU(ele.bu_oflange.index, ele.bu_iflange.index, ele.bu_web.index, d, isFalse, isFalse, isFalse)&lt;/P&gt;

&lt;P&gt;Some definitions:&lt;/P&gt;

&lt;P&gt;record /eleprops/ ele&lt;BR /&gt;
	&amp;nbsp;structure/eleprops/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;union&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;map&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp;bu_D1,&amp;nbsp;&amp;nbsp;bu_D2,&amp;nbsp;&amp;nbsp;bu_minweb,&amp;nbsp;bu_minflange&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;record/invmap/&amp;nbsp;bu_oflange,&amp;nbsp;&amp;nbsp;bu_web,&amp;nbsp;&amp;nbsp;bu_iflange&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;end map&lt;/P&gt;

&lt;P&gt;. . .&amp;nbsp;&lt;/P&gt;

&lt;P&gt;structure/invmap/&lt;/P&gt;

&lt;P&gt;&amp;nbsp; integer*2&amp;nbsp;type, index&lt;/P&gt;

&lt;P&gt;end structure&lt;/P&gt;

&lt;DIV&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/DIV&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 16:40:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082509#M122239</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T16:40:22Z</dc:date>
    </item>
    <item>
      <title>The function does crash the</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082510#M122240</link>
      <description>&lt;P&gt;The function does crash the first time it is called.&amp;nbsp; And the code is profuse with the dot notation for structures.&lt;/P&gt;

&lt;P&gt;This is actually the second version of the crashing function, the original being AREA.&amp;nbsp; I created it to experiment with different ways of trying to dodge the FP error.&amp;nbsp; The original AREA, called from other places, sometimes runs and sometimes crashes.&amp;nbsp; It's possible that the original function has&amp;nbsp;executed unaltered since 1987.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 16:52:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082510#M122240</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T16:52:57Z</dc:date>
    </item>
    <item>
      <title>The fragments of information</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082511#M122241</link>
      <description>&lt;P&gt;The fragments of information that you added do not serve to give us a complete picture. Rather, they raise more questions. I could speculate that your code has some undefined variables (or undefined components of your non-standard structures), and their presence has gone unnoticed until now.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 17:30:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082511#M122241</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2017-01-30T17:30:43Z</dc:date>
    </item>
    <item>
      <title>Quote:fourreal wrote:  It's</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082512#M122242</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;fourreal wrote:&lt;BR /&gt;&lt;SPAN style="font-size: 1em;"&gt;&amp;nbsp; It's possible that the original function has&amp;nbsp;executed unaltered since 1987.&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Not likely since the pointer and derived types stuff is F&lt;SPAN style="font-size: 1em;"&gt;ortran 90. You have quite a mishmash of non-standard and obsolete &amp;nbsp;things in your code. When you do that some unforeseen (undefined) things can rear their heads and bite you. Having worked in the past in this instance is no guarantee of &amp;nbsp;working in the future . I recall a recent bugfix relating to use of . rather than % for example. Logical tests on integers rather than logicals is also not good practice.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;It is hard to know what is wrong, you really need to make a small but complete sample that reproduces the problem and then you will get better answers rather than guesses.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 17:56:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082512#M122242</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2017-01-30T17:56:39Z</dc:date>
    </item>
    <item>
      <title>The failure occurred before</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082513#M122243</link>
      <description>&lt;P&gt;The failure occurred before the addition of the pointers.&amp;nbsp; The data fields were accessed in a more traditional manner. The integers used as logicals were a grasping-at-straws measure because the VS debugger local watch lists logical as ??? but integers as shorts.&amp;nbsp; These have been returned to being logicals.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 18:06:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082513#M122243</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T18:06:51Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;ele.bu_oflange.index, ele</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082514#M122244</link>
      <description>&lt;P&gt;&amp;gt;&amp;gt;ele.bu_oflange.index, ele.bu_iflange.index, ele.bu_web.index&lt;/P&gt;

&lt;P&gt;Is, and how is, ele, ele.bu_oflang, eld.bu_iflange, ele.bu_web defined?&lt;/P&gt;

&lt;P&gt;IOW is ele an allocatable or pointer .not. defined?&lt;BR /&gt;
	and/or member objects/structures of ele: bu_... allocatable or pointer .not. defined?&lt;BR /&gt;
	and/or what are the integer types (1, 2, 4, 8) of the respective index of those member objects/structures?&lt;/P&gt;

&lt;P&gt;Have you enabled the compile time diagnostics to generate and warn on invalid interfaces?&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 19:06:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082514#M122244</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2017-01-30T19:06:03Z</dc:date>
    </item>
    <item>
      <title>record /eleprops/ ele</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082515#M122245</link>
      <description>&lt;DIV&gt;record /eleprops/ ele&lt;BR /&gt;
	&amp;nbsp;structure/eleprops/&lt;BR /&gt;
	&amp;nbsp;union&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;map&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;real*4 bu_D1, bu_D2, bu_minweb, bu_minflange&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;record/invmap/ bu_oflange, bu_web, bu_iflange&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;end map&lt;/DIV&gt;

&lt;P&gt;&amp;nbsp;...&lt;/P&gt;

&lt;DIV&gt;structure/invmap/&lt;BR /&gt;
	&amp;nbsp;integer*2 type, index&lt;BR /&gt;
	end structure&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;ele is not allocatable. bu_* is not allocatable.&amp;nbsp; The integer type are all *2, although I have experimented with *4.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV&gt;I'll look for the invalid interfaces flag.&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Mon, 30 Jan 2017 19:26:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082515#M122245</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T19:26:14Z</dc:date>
    </item>
    <item>
      <title>I've reduced the function to</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082516#M122246</link>
      <description>&lt;P&gt;I've reduced the function to intrinsic variable types and hard wired data.&amp;nbsp; There&amp;nbsp;are no parameters.&amp;nbsp; The behavior is the same - F10 off the function declaration and throw a Floating-point invalid exception.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;The call:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sarea = AREABU()&lt;/P&gt;

&lt;P&gt;The function:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4 FUNCTION AREABU ()&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;/P&gt;

&lt;DIV&gt;c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; include 'inv.h'&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer*4 idxOFlange, idxIFlange, idxWeb&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4 D&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logical*4&amp;nbsp;holes, tl, isARafter&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp;net&amp;nbsp; /0.0/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp;bf /0.0/, tf/0.0/, bf2/0.0/, tf2/0.0/, tw /0.0/&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real*4&amp;nbsp; girtBoltDiameter /0.5/, purlinBoltDiameter /0.5/&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; holes = .false.&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tl = .false.&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isARafter = .false.&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf = 5.0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tf = 0.3125&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = 5.0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = 0.3125&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tw = 0.1875&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D = 27.75&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (holes) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (tl) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isARafter) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf2 - 2.0 * (purlinBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf2 - 2.0 * (girtBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf2 = min(bf2, 5.0/6.0 * 70/55&amp;nbsp; * net)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isARafter) then&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf - 2.0 * (purlinBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; net = bf - 2.0 * (girtBoltDiameter + 0.0625)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf = min(bf, 5.0/6.0 * 70/55 * net)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AREABU = BF*TF + BF2*TF2 + (D-TF-TF2)*TW&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;/DIV&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 20:42:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082516#M122246</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T20:42:56Z</dc:date>
    </item>
    <item>
      <title>Same invalid FP failure:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082517#M122247</link>
      <description>&lt;P&gt;Same invalid FP failure:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL*4 FUNCTION AREABU ()&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AREABU = 9.999&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RETURN&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;/P&gt;

&lt;P&gt;Is it possible to simplify this? Maybe I should try punch cards?&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 21:23:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082517#M122247</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-30T21:23:38Z</dc:date>
    </item>
    <item>
      <title>interesting! But, there is</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082518#M122248</link>
      <description>&lt;P&gt;interesting! But, there is usually a simple answer. Can you post a complete example that fails and also the buildlog so we can also see what options are used. There are still a long list of &amp;nbsp;potential causes...&amp;nbsp;&lt;/P&gt;

&lt;P&gt;How Is AREABU() &lt;SPAN style="font-size: 16.26px;"&gt;declared in the caller? Is it&amp;nbsp;&lt;/SPAN&gt;declared external, is it in a module, ....&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 21:56:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082518#M122248</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2017-01-30T21:56:00Z</dc:date>
    </item>
    <item>
      <title>#14&gt;&gt; The integer type are</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082519#M122249</link>
      <description>&lt;P&gt;#14&amp;gt;&amp;gt;&amp;nbsp;The integer type are all *2, although I have experimented with *4.&lt;/P&gt;

&lt;P&gt;#4&amp;gt;&amp;gt;&amp;nbsp;integer idxOFlange, idxIFlange, idxWeb&lt;BR /&gt;
	#4&amp;gt;&amp;gt;...&lt;BR /&gt;
	#4&amp;gt;&amp;gt; integer&amp;nbsp;holes, tl, isARafter&lt;/P&gt;

&lt;P&gt;The Dummy (integer) arguments to function AREABU are declared as default INTEGER. Unless an option switch overrides this, these are declared as INTEGER(4). FORTRAN is call by reference. Without a function interface (not required), the call will not promote your INTEGER(2) reference&amp;nbsp;into INTEGER(4). Effectively, without an interface, the references to your caller's INTEGER(2) will be treated as INTEGER(4). IOW they will overlap. This in turn will cause the dereference of idxOFlange, idxIFlange, idxWeb to read in two bytes following the actual arguments (as additional precision), thus (likely)&amp;nbsp;causing index out of range.&lt;/P&gt;

&lt;P&gt;#16&amp;gt;&amp;gt;Same invalid FP failure:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL*4 FUNCTION AREABU ()&lt;/P&gt;

&lt;P&gt;Did your call, call with no arguments?&lt;/P&gt;

&lt;P&gt;Is AREABU in a .LIB or .DLL?&lt;/P&gt;

&lt;P&gt;Note, these questions would be easily answered by you supplying a simple (complete) reproducer.&lt;/P&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2017 22:20:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082519#M122249</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2017-01-30T22:20:56Z</dc:date>
    </item>
    <item>
      <title>I reduced the call to:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082520#M122250</link>
      <description>&lt;P&gt;I reduced the call to:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sarea = AREABU()&lt;/P&gt;

&lt;P&gt;​ and the function to:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REAL*4 FUNCTION AREABU ()&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AREABU = 9.999&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;/P&gt;

&lt;P&gt;This is all tucked inside a DLL. The debugger will step to the FUNCTION statement.&amp;nbsp; Stepping off the FUNCTION statement generates a&amp;nbsp;floating point invalid operation&amp;nbsp;exception.&amp;nbsp; This happens without a floating point operation -&amp;nbsp;not even an assignment.&amp;nbsp; No parameters are passed so I can't corrupt or misalign a call list.&amp;nbsp; There are no integers, default or otherwise.&amp;nbsp; There are no logicals.&amp;nbsp; I don't have a language issue.&amp;nbsp; Can I eliminate a linker issue? I'll guess it's a compiler issue.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Jan 2017 14:11:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082520#M122250</guid>
      <dc:creator>fourreal</dc:creator>
      <dc:date>2017-01-31T14:11:22Z</dc:date>
    </item>
    <item>
      <title>So far (19 posts already!)</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082521#M122251</link>
      <description>&lt;P&gt;So far (19 posts already!) you have not established that there is a compiler issue. Here is a non-reproducer that serves only to demonstrate that your list of attributes and features is insufficient to enable the problem, if there exists one, to be investigated. It is based on your statements.&lt;/P&gt;

&lt;P&gt;The DLL code:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;c
        REAL*4 FUNCTION AREABU ()
            AREABU = 9.999
            RETURN
        END
c&lt;/PRE&gt;

&lt;P&gt;The program that calls the DLL:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;c
      program parea
      implicit none
      real AREABU, S
      S = AREABU()
      print *,' S = ',S
      end
c&lt;/PRE&gt;

&lt;P&gt;I built the DLL and the EXE using the 16.0.4.246 compiler for X64 on Windows 10.&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;ifort /LD /Zi areabu.f /link /export:AREABU
ifort /Zi parea.f areabu.lib
&lt;/PRE&gt;

&lt;P&gt;Running the resulting EXE in the debugger displays completely normal, if boring, behavior. No exceptions of any kind, one line of output with expected result.&lt;/P&gt;

&lt;P&gt;I hope that you can see from this counter-example that we really need a reproducer from you. The ball is very much in your court.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Jan 2017 14:39:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Floating-point-invalid-operation/m-p/1082521#M122251</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2017-01-31T14:39:00Z</dc:date>
    </item>
  </channel>
</rss>

