<?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 Bug in ifort 11.1: -fpp prepends /tmp to the search path for in in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750201#M6868</link>
    <description>I suppose this relates to the default usage of /tmp/ for the pre-processed files required by -fpp option. I believe you could change that (e.g. to a subdirectory of /tmp/ which you create for your project) if you knew the sequence of environment variables used by that compiler to make the determination.</description>
    <pubDate>Mon, 01 Nov 2010 18:36:08 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2010-11-01T18:36:08Z</dc:date>
    <item>
      <title>Bug in ifort 11.1: -fpp prepends /tmp to the search path for include files</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750200#M6867</link>
      <description>The compiler flag -fpp prepends /tmp to the search path for include files.&lt;BR /&gt;&lt;BR /&gt;Steps to reproduce:&lt;BR /&gt;&lt;BR /&gt;1. Consider the test program hw.f90 and the include file msg.h:&lt;BR /&gt; $ cat hw.f90 &lt;BR /&gt; program hello&lt;BR /&gt;&lt;BR /&gt; implicit none&lt;BR /&gt;&lt;BR /&gt; include 'msg.h'&lt;BR /&gt;&lt;BR /&gt;   print *,msg&lt;BR /&gt;&lt;BR /&gt; end program hello&lt;BR /&gt; $ cat msg.h &lt;BR /&gt; ! -*- f90 -*-&lt;BR /&gt;   character(len=16) :: msg = 'Hello World!'&lt;BR /&gt;&lt;BR /&gt;2. The program compiles ok, with or without -fpp:&lt;BR /&gt; $ ifort -o hw hw.f90&lt;BR /&gt; $ ./hw &lt;BR /&gt;  Hello World! &lt;BR /&gt; $ ifort -fpp -o hw hw.f90&lt;BR /&gt; $ ./hw &lt;BR /&gt;  Hello World! &lt;BR /&gt;&lt;BR /&gt;3. Now create a file msg.h in /tmp:&lt;BR /&gt; $ echo 'This is no valid Fortran' &amp;gt; /tmp/msg.h&lt;BR /&gt;&lt;BR /&gt;4. The program still compiles ok without -fpp:&lt;BR /&gt; $ ifort -o hw hw.f90&lt;BR /&gt;&lt;BR /&gt;5. But with -fpp it does not work anymore:&lt;BR /&gt; $ ifort -fpp -o hw hw.f90 &lt;BR /&gt; /tmp/msg.h(1): error #5082: Syntax error, found IDENTIFIER 'IS' when expecting one of: ( % : . = =&amp;gt;&lt;BR /&gt; This is no valid Fortran&lt;BR /&gt; -----^&lt;BR /&gt; hw.f90(7): error #6404: This name does not have a type, and must have an explicit type. [MSG]&lt;BR /&gt;   print *,msg&lt;BR /&gt; ----------^&lt;BR /&gt; compilation aborted for hw.f90 (code 1)&lt;BR /&gt;&lt;BR /&gt;Conclusion&lt;BR /&gt;&lt;BR /&gt;With -fpp, the wrong file /tmp/msg.h gets included, even though the right one is in the cwd.&lt;BR /&gt;&lt;BR /&gt;Version&lt;BR /&gt;&lt;BR /&gt;$ ifort -V&lt;BR /&gt;Intel Fortran Intel 64 Compiler Professional for applications running on Intel 64, Version 11.1 Build 20091012 Package ID: l_cprof_p_11.1.059&lt;BR /&gt;Copyright (C) 1985-2009 Intel Corporation. All rights reserved.&lt;BR /&gt;&lt;BR /&gt;My OS is SLES 11&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://dict.leo.org/ende?lp=ende&amp;amp;p=Ci4HO3kMAA&amp;amp;search=though&amp;amp;trestr=0x8008"&gt;&lt;BR /&gt;&lt;/A&gt;</description>
      <pubDate>Mon, 01 Nov 2010 15:58:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750200#M6867</guid>
      <dc:creator>krahl</dc:creator>
      <dc:date>2010-11-01T15:58:20Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort 11.1: -fpp prepends /tmp to the search path for in</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750201#M6868</link>
      <description>I suppose this relates to the default usage of /tmp/ for the pre-processed files required by -fpp option. I believe you could change that (e.g. to a subdirectory of /tmp/ which you create for your project) if you knew the sequence of environment variables used by that compiler to make the determination.</description>
      <pubDate>Mon, 01 Nov 2010 18:36:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750201#M6868</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2010-11-01T18:36:08Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort 11.1: -fpp prepends /tmp to the search path for in</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750202#M6869</link>
      <description>Sure. Indeed, setting the environment variable TMP to some safe directory works around this issue.&lt;BR /&gt;&lt;BR /&gt;Once you are aware of the problem, you can even more easily work around it, just by deleting the offending file in /tmp. But if you are not aware of it, it can take you hours of debugging before you figure out why your edits in the include file fail to have any effect. Note that if the offending file contains valid Fortran source, you wont get any notice about it being included in the place of your include file.&lt;BR /&gt;&lt;BR /&gt;That is why i suggest this is a bug worth being fixed and tht's why i'm posting it here. Suggested fix:&lt;BR /&gt;1. Use mkdtemp(3) to create a unique temporary directory for the intermediate files.&lt;BR /&gt;2. Include compiler generated intermediate files by absolute path name rather then modifying the include path.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Nov 2010 16:16:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750202#M6869</guid>
      <dc:creator>krahl</dc:creator>
      <dc:date>2010-11-04T16:16:46Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort 11.1: -fpp prepends /tmp to the search path for in</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750203#M6870</link>
      <description>&lt;P&gt;Thank you for raising this issue.&lt;/P&gt;&lt;P&gt;FPP shouldn't be a factor here. It handles #include. The Fortran Front-end handles the INCLUDE statement so throwing &lt;STRONG&gt;-fpp&lt;/STRONG&gt; has an unintended side-effect.&lt;BR /&gt;&lt;BR /&gt;I will re-create your test case, test the latest release, and direct to Development if not resolved and update the post when I know more.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Nov 2010 16:41:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750203#M6870</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2010-11-04T16:41:05Z</dc:date>
    </item>
    <item>
      <title>Bug in ifort 11.1: -fpp prepends /tmp to the search path for in</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750204#M6871</link>
      <description>This is reproducible with our upcoming release too. It spans all OSes. On Windows the TEMP setting is typically user unique but the behavior is the same when headers are placed in the TEMP location.&lt;BR /&gt;&lt;BR /&gt;I directed this to Development(see internal tracking id below) and will update as I learn more.&lt;BR /&gt;&lt;BR /&gt;(Internal tracking id: DPD200162585)</description>
      <pubDate>Fri, 05 Nov 2010 18:22:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-in-ifort-11-1-fpp-prepends-tmp-to-the-search-path-for/m-p/750204#M6871</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2010-11-05T18:22:09Z</dc:date>
    </item>
  </channel>
</rss>

