<?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: enforce implicit none in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892895#M78712</link>
    <description>I know we plan to offer finer-grained control over diagnostics. I don't recall if changing severity of specific diagnostics is part of the plan.&lt;BR /&gt;</description>
    <pubDate>Thu, 15 Nov 2007 17:25:24 GMT</pubDate>
    <dc:creator>Steven_L_Intel1</dc:creator>
    <dc:date>2007-11-15T17:25:24Z</dc:date>
    <item>
      <title>enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892888#M78705</link>
      <description>I was wondering if there is a method of enforcing "implicit none" with some compiler option. I am already using /warn:declarations but I would like the compiler to stop with an error when an undeclared variable is encounterd.&lt;BR /&gt;Is there a compiler option to turn certain warnings into errors?&lt;BR /&gt;&lt;BR /&gt;Guido&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 14 Nov 2007 10:47:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892888#M78705</guid>
      <dc:creator>ggveldkamp2</dc:creator>
      <dc:date>2007-11-14T10:47:14Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892889#M78706</link>
      <description>There is not at present an option to turn only selected warnings into errors. /warn:errors will turn ALL warnings into errors. However, the diagnostic you get with /warn:declarations is in fact an error severity and the behavior is the same as if you had said IMPLICIT NONE.&lt;BR /&gt;</description>
      <pubDate>Wed, 14 Nov 2007 15:47:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892889#M78706</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2007-11-14T15:47:40Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892890#M78707</link>
      <description>I think if you declare the routines in a module, and put "IMPLICIT NONE" at the head of the module, all the subroutines and function inherit the implicitaneousness. So that's one near-miss of a way of doing it. If I'm correct.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 14 Nov 2007 17:30:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892890#M78707</guid>
      <dc:creator>grg99</dc:creator>
      <dc:date>2007-11-14T17:30:14Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892891#M78708</link>
      <description>&lt;P&gt;In IVF 10.nn you have&lt;/P&gt;
&lt;P&gt;/4{Y|N}d enable/disable default IMPLICIT NONE&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Nov 2007 22:21:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892891#M78708</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2007-11-14T22:21:08Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892892#M78709</link>
      <description>That's simply the Microsoft Fortran PowerStation spelling of /warn:declarations. It does the same thing.&lt;BR /&gt;</description>
      <pubDate>Thu, 15 Nov 2007 03:09:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892892#M78709</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2007-11-15T03:09:21Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892893#M78710</link>
      <description>Hello Steve,&lt;BR /&gt;Do you know if an option to turn certain warnings into error is considered for a future version of the compiler?&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Guido&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 15 Nov 2007 07:33:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892893#M78710</guid>
      <dc:creator>ggveldkamp2</dc:creator>
      <dc:date>2007-11-15T07:33:42Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892894#M78711</link>
      <description>&lt;P&gt;Guido,&lt;/P&gt;
&lt;P&gt;As an interum measure you could write a script to scan the BuildLog for the warning messages and make it a post build process and/or Tool.&lt;/P&gt;
&lt;P&gt;You could get fancy and make the application multiple projects, one being an empty main that calls the old main (program). Then make a verification project that scans the build log files and which builds a bogus subroutine.Structure it soverificatioin project will fail to build the bogus subroutine (deleting the old copy in the failure) and then the main will fail to link.&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Thu, 15 Nov 2007 14:10:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892894#M78711</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2007-11-15T14:10:15Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892895#M78712</link>
      <description>I know we plan to offer finer-grained control over diagnostics. I don't recall if changing severity of specific diagnostics is part of the plan.&lt;BR /&gt;</description>
      <pubDate>Thu, 15 Nov 2007 17:25:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892895#M78712</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2007-11-15T17:25:24Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892896#M78713</link>
      <description>Hello Jim,&lt;BR /&gt;&lt;BR /&gt;We have a lot of (legacy) source code in many files for several programs. We use make as a build system. I have written a small tool to scan the source files and list all the functions and subroutines that don't have "implicit none". I have added "implicit none" to all our source now and I hoped I could prevent people from forgetting to add "implicit none" to new functions. &lt;BR /&gt;In my opinion implicit typing might be a good thing for the lazy programmer but if you are not very careful it will lead to bugs.&lt;BR /&gt;I also plan on using the /gen-interfaces option in the future to prevent even more bugs :-)&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Guido&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Nov 2007 07:48:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892896#M78713</guid>
      <dc:creator>ggveldkamp2</dc:creator>
      <dc:date>2007-11-16T07:48:53Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892897#M78714</link>
      <description>&lt;P&gt;Guido,&lt;/P&gt;
&lt;P&gt;I too have been bitten by implicit many times over my 35 years of programming. Often it is due to a typographical error or ommission of inclusion of a header file or mod file.&lt;/P&gt;
&lt;P&gt;I use TECO for making such global editing tasks.&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Fri, 16 Nov 2007 15:13:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892897#M78714</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2007-11-16T15:13:47Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892898#M78715</link>
      <description>Guido,&lt;BR /&gt;&lt;BR /&gt;If you want to enforce IMPLICIT NONE for all compiles on your system, edit the file ifort.cfg, found in the compiler's BIN folder, and add:&lt;BR /&gt;&lt;BR /&gt;/warn:declarations&lt;BR /&gt;&lt;BR /&gt;If you just save the file in place, it will be used until you update the compiler. You can save a copy elsewhere and define the system environment variable IFORTCFG to have a value of the complete path to the configuration file.&lt;BR /&gt;</description>
      <pubDate>Fri, 16 Nov 2007 19:48:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892898#M78715</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2007-11-16T19:48:17Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892899#M78716</link>
      <description>Hello Steve,&lt;BR /&gt;&lt;BR /&gt;I already use /warn:declarations (from the makefile), the only thing is that it generates a warning and not an error (ivf 9.1).&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;&lt;BR /&gt;Guido&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 19 Nov 2007 07:27:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892899#M78716</guid>
      <dc:creator>ggveldkamp2</dc:creator>
      <dc:date>2007-11-19T07:27:51Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892900#M78717</link>
      <description>I see you are correct - I thought it was an error but it is indeed a warning. You could also add /warn:error which will change all warnings to errors.&lt;BR /&gt;</description>
      <pubDate>Mon, 19 Nov 2007 17:07:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892900#M78717</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2007-11-19T17:07:20Z</dc:date>
    </item>
    <item>
      <title>Re: enforce implicit none</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892901#M78718</link>
      <description>&lt;P&gt;Guido,&lt;/P&gt;
&lt;P&gt;As a work around, add the compiler option /Qdiag-file:YourNameHere.diag&lt;/P&gt;
&lt;P&gt;Then in your make file&lt;/P&gt;
&lt;P&gt;grep explicit.type Debug*.diag&amp;gt;NoType.txt&lt;/P&gt;
&lt;P&gt;This assumes you have GREP. &lt;/P&gt;
&lt;P&gt;If NoType.txt is 0 bytes in size then no error. Using one ofthe script languages (AWK, PEARL, other, or roll your own) you can make a test of NoType.txt and if not 0 length your make file can delete the execuitable or perform other such action as you see fit (delete offending .obj file prior to link).&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Nov 2007 18:11:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/enforce-implicit-none/m-p/892901#M78718</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2007-11-19T18:11:22Z</dc:date>
    </item>
  </channel>
</rss>

