<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sun, 08 Nov 2009 01:30:51 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/feed" rel="self" type="application/rss+xml" />
    <title>Intel Software Network - <![CDATA[ Intel® Visual Fortran Compiler for Windows ]]> feed</title>
    <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Structure constructor with UNION ... END UNION</title>
      <description><![CDATA[ Hello,<br /><br />I get the following error message for a structure constructor of a derived type:<br /><br />
<p>error #8212: Omitted field is not initialized. Field initialization missing: [RR143]<br /><br />However, RR143 is not an additional field, but a mapping. Am I missing something or is this a compiler problem?<br />Before I used equivalence to map an instance of the derived type and the array representation in the same memory. Since this presented serious problems (which are actually resolved in 11.1.051) I tried the UNION..END UNION, which obviously resulted in a different kind of problem. What would be the preferred method anyway, equivalencing or using UNION .. END UNION (provided the issue with the structure constructor is resolved)?<br /> <br />The constructor looks like this:<br /><br />RC143=ST143('    ',(/'    ','    ','    '/),0.,0.,0.,0.,0., &amp;<br />                  0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0)</p>
<p>and the derived type declaration looks like this:<br /><br />TYPE ST143<br />  SEQUENCE<br />  UNION<br />  MAP<br />    CHARACTER(4) IDF    <br />    CHARACTER(4) NAME(3)<br />    REAL(4) TFL1<br />    REAL(4) TFLX<br />    REAL(4) DTMX<br />    REAL(4) FFL<br />    REAL(4) CPFL<br />    REAL(4) UA<br />    REAL(4) WFH<br />    REAL(4) XT<br />    REAL(4) DUA<br />    REAL(4) TFL2<br />    REAL(4) WCFL<br />    REAL(4) WCS<br />    REAL(4) CPS<br />    REAL(4) XNTU<br />    REAL(4) CAR<br />    REAL(4) EFF<br />    REAL(4) TS2<br />    REAL(4) XLMTD<br />    INTEGER(4) IP2<br />  END MAP<br />  MAP<br />    REAL(4) RR143(23)<br />  END MAP<br />  END UNION<br />END TYPE<br />TYPE(ST143)    RC143</p>
<p><br /><br />Walter Kramer<br /></p> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69738/</link>
      <pubDate>Sat, 07 Nov 2009 01:45:32 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69738/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>LNK2019: unresolved external symbol __imp__ VF 11.1?</title>
      <description><![CDATA[ Just upgraded to 11.1.48 on Windows XP. Recompiled a C++ wrapped Fortran DLL with generate interfaces turned on got<br />error LNK2019: unresolved external symbol __imp__MYSUBB@448 referenced in function _MYSUBA in file mydll_lib.lib<br /><br />* Where did the _imp_ come from? How can I make it go away and work like it did before?<br /><br />As frustrating as "it used to work" with Compaq Visual Fortran 6 and even Intel 11.0 is, I'd like to thank the new compiler for finding 4 other seriously wrong problems with our interface! I'm sure we've done something stupid again, I just can't find it. I see there is another upgrade to Intel 11.1.51, should I try that? Nothing more fun than comparing declarations of calling arguments until you find the one array that's off but the compiler was right!<br /><br />mysubb in question is being called from mysuba as two files in the same DLL that also has a C++ wrapper. These two subs are not the public interface that C++ exports, they are internal sub sub routines. However, mysubb is also used by another DLL and is exported so the line<br />cDEC$ attributes dllexport::mysubb<br />is present. In desperation, after double checking each calling argument with the generated interface, I removed the cDEC command, deleted the contents of the DEBUG folder, and did a clean rebuild with no luck.<br /><br />From all the previous discussion on LNK2019, I see our C++ has the uppercase name with<br />extern "C" void __stdcall MYSUBB<br /><br />(a) upgrading to the latest compiler will fix this _imp_ problem?<br />(b) I need to add more stuff to the cDEC$ line because things have changed? The discussion on CVF vs "C" vs stdcall is not clear since we seem to be using all 3?<br />(c) I can't sit on the fence and need to call the DLL from the DLL if cDEC is present?<br /><br />workaround: turn off generate interface blocks which then generates the expected _MYSUBB@448 in the .obj file<br /><br />We're using /iface:cvf I saw some discussion of Fortran 2003 Bind(C) but at the moment we have to support both the old and new compilers with our code. The above mentioned good finds by generate interface blocks still work in the old compiler but F2003 would not.<br /><br />I made a separate .exe project, put all the code in it, set all the compiler options the same, and it works! Which gives 3 scenarios:<br />1. stand alone Fortran exe with all the code<br />2. C++ wrapped Fortran DLL that calls sub sub routine that is also exported by another DLL<br />3. DLL that calls another DLL<br /><br /><br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69734/</link>
      <pubDate>Fri, 06 Nov 2009 17:27:58 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69734/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Problem with Fortran Compiler and Vista</title>
      <description><![CDATA[ The latest Fortran compiler works well on a computer with XP Pro, but on Vista it does not.  The drop down menu is different -- I do not see the "Extract Compaq Virtual Fortran.." option on the drop-down menu as it shows on XP Pro.  How to fix this?<br /><br />Vijay ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69726/</link>
      <pubDate>Fri, 06 Nov 2009 14:14:58 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69726/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Bad compiler error with procedure pointer component array</title>
      <description><![CDATA[ I am attaching two files (one module that USEs another) that demonstrate an incorrect compiler error.  I have a derived type that contains a pointer array of another derived type, which contains a procedure pointer.  When I create a subroutine that sets the procedure pointer, the compiler complains that the procedure pointer targets "must have matching arguments", but they are both declared with the same interface ("response_template"), so they do have matching arguments.<br /><br />The compiler error seems to have something to do with the definition of the ABSTRACT INTERFACE in a separate module, because including the code from GlobalDef.f90 directly in FPointer.f90 (as opposed to referencing it as a module) makes the error go away...<br /><br />Thanks in advance,<br />John ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69720/</link>
      <pubDate>Fri, 06 Nov 2009 13:33:30 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69720/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Position-dependent explicit interface?</title>
      <description><![CDATA[ <p>Hi,</p>
<p>When I try to compile the code below, I get an error stating that the specified interface (for the procedure func) is not declared.  But if I place the "square" function right before "loopOverFunc" then I get no error (although I get a misleading warning regarding the result of the "square" function).  Is it a bug in the compiler or the intended behavior?</p>
<p> </p>
<p>module mod1<br /><br /> implicit none<br /><br />contains<br />!------------------------------------------------------------------------------<br /> function loopOverFunc(func, array) result(sq)<br /> procedure(square) :: func<br /> integer, intent(IN) :: array(:)<br /> integer :: sq(SIZE(array))<br /> integer :: i<br /> continue<br /> do i = 1, SIZE(array)<br /> sq(i) = func(array(i))<br /> enddo<br /><br /> end function<br />!------------------------------------------------------------------------------<br /> elemental function square(a) result(sq)<br /> integer :: sq<br /> integer, intent(IN) :: a<br /><br /> continue<br />sq = a ** 2<br /> end function<br /><br />end module mod1</p> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69713/</link>
      <pubDate>Fri, 06 Nov 2009 13:17:28 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69713/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Memory allocation using Cray pointer and malloc (of C)</title>
      <description><![CDATA[ Halo All, <br /><br />I am FORTRAN user, and encountered forllowing problem.<br /><br />I am alocating memory for the fortran arrays using cray type pointer and malloc function of C. Here is simple program which describes my usage:<br /><br /> Program MemTest<br /> implicit none<br /> <br /> integer*4, parameter  ::     Len=4000,Size=8<br /><br /> integer*4     ::    Array1(Size,Len)<br /><br /> integer*4     ::    ii, memalloc <br /><br /> pointer           (Array1Ptr,Array1)<br /><br /> Array1Ptr = memalloc(Size*Len*4)<br /><br /> do ii = 1, Len<br /><br /> Array1(1,ii) = ii*2 <br /> Array1(2,ii) = ii*3 <br /> Array1(3,ii) = ii*4 <br /><br /> end do<br /> <br /> stop<br /><br /> end<br /><br />#include &lt;malloc.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;unistd.h&gt;<br /><br />int *memalloc_(int *length)<br /><br />{<br /> int *alocptr;<br /><br /> alocptr = (int *) malloc((unsigned) *length);<br /><br /> if (alocptr == 0) {<br /> printf("Unable to allocate --&gt; %d bytes)\n", *length);<br /><br /> }<br /> return(alocptr);<br />}<br /><br /><br />Compiling with ifort -- Intel(R) 64, Version 11.1    Build 20090827 Package ID: l_cprof_p_11.1.056.<br /> It works well below and eqal LEN=4000, but does not work further. Any help.. Thank you in advance..<br /><br />Regards,<br /><br />PS<br /><br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69714/</link>
      <pubDate>Fri, 06 Nov 2009 13:07:21 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69714/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Slow Response Time</title>
      <description><![CDATA[ It is difficult to set records. My issue may of set a record for slow Premier support time. It has taken 188 days to hear back on an issue of Classic VB calling an Intel Fortran .dll. It will run Ok on one computer but not another. In the past, Digital and Compaq would respond in 1 to 5 days. ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69716/</link>
      <pubDate>Fri, 06 Nov 2009 09:08:12 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69716/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Using lapack in fortran code</title>
      <description><![CDATA[ Hello friends,<br />Im facing a problem when I compile my fortran file (.f90) calling a routine from lapack.<br />I want to use the routine GETRS to solve linear systems. My exemple .f90 file is described below.<br /><br />*** file Text1.f90 ***<br /><br />PROGRAM TEST_IFORT<br />USE mkl95_lapack<br />USE mkl95_precision<br />IMPLICIT NONE<br /><br /><br />COMPLEX(8) :: Atild(2,2), Btild (2)<br />INTEGER :: ipiv(2)<br /><br />Atild = reshape( (/ 1,1,1,-1 /) , (/2,2/) )<br />Btild = (/ 3,1 /)<br /><br />print*, Atild(1,1),Atild(1,2)<br />print*, Atild(2,1),Atild(2,2)<br />print*, "--"<br />print*, Btild<br /><br />CALL GETRS( Atild, ipiv, Btild )<br /><br />print*,Btild<br /><br /><br />END PROGRAM<br />**********************<br /><br />When I use the command "ifort Text1.f90" I get the following message:<br />&gt;ifort Text1.f90<br />Intel(R) Visual Fortran Compiler Professional for applications running on IA-32,<br /> Version 11.1    Build 20090930 Package ID: w_cprof_p_11.1.048<br />Copyright (C) 1985-2009 Intel Corporation.  All rights reserved.<br /><br />Text1.f90(2): error #7002: Error in opening the compiled module file.  Check INC<br />LUDE paths.   [MKL95_LAPACK]<br />USE mkl95_lapack<br />----^<br />Text1.f90(3): error #7002: Error in opening the compiled module file.  Check INC<br />LUDE paths.   [MKL95_PRECISION]<br />USE mkl95_precision<br />----^<br />compilation aborted for Text1.f90 (code 1)<br /><br />&gt;<br /><br />I dont know what to do since I have used the USE command following the instructions from the reference manual C:/Program Files/Intel/Compiler/11.1/048/Documentation/en_US/mkl/mklman.pdf<br />I have MS visual studio 2008 and visual fortran 11.1.048 installed on my pc and I wanna use the command line compiler.<br /><br />Thankyou in advance. ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69715/</link>
      <pubDate>Fri, 06 Nov 2009 09:05:44 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69715/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>recursive subroutines with intel 10.1.030</title>
      <description><![CDATA[ I have previously compiled programs using the intel visual fortran 10.1.021 compiler. When upgrading to the 10.1.030 compiler, I discovered a different behaviour when compiling recursive subroutines while using the "Qsave" option. The compiler documentation for both versions claims that "This option saves all variables in static allocation except local variables within a recursive routine and variables declared as AUTOMATIC.". <br /><br />However, my experience is that the Qsave option using 10.1.030 also saves local variables in recursive subroutines. <br /><br />Is this an intended feature? Does anyone have experience with this?<br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69710/</link>
      <pubDate>Fri, 06 Nov 2009 05:28:29 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69710/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>OMP Warning: Cannot open message catalog &amp;#34;2060libguide40ui.dll&amp;#34;</title>
      <description><![CDATA[ A user of my console application has reported that he is getting following warnings on a specific computer:<br /><br />OMP: Warning #2: Cannot open message catalog "2060\libguide40ui.dll":<br />OMP: System error #126: The specified module could not be found.<br />OMP: Info #3: Default messages will be used.<br /><br />The application is compiled using following options:<br /><br />/nologo /fpp /fixed /extend_source:132 /Qopenmp /fpscomp:general /warn:declarations /warn:unused /assume:byterecl /module:"Release\\" /object:"Release\\" /libs:static /threads /c /align:all /heap-arrays<br /><br />And linked using following options:<br /><br />/OUT:"Release\MyApp.exe" /NOLOGO /DELAYLOAD:"Cstuff.dll" /MANIFEST /MANIFESTFILE:"...\MyApp.exe.intermediate.manifest" /SUBSYSTEM:CONSOLE /STACK:100000000 /IMPLIB:"...\MyApp.lib" delayimp.lib libguide.lib Cstuff.lib<br /><br />The question is <b>what I can do in my application so that the user does not get the above mentioned warnings</b>.<br /><br />Does the configuration of his computer matter? Or is it any compiler option which my application is missing? I found an archived thread discussing the <b>compiler option /Qopenmp-lib:compat</b>; should I try using it? I can also try <b>recompiling my application</b> using the latest version of the compiler (<b>11.1.051</b>).<br /><br />Finally, do these warnings affect the parallelization?<br /><br />PS: Cstuff.dll and Cstuff.lib were created in Visual Studio 2008 using following compiler options:<br /><br />/O2 /Oi /GL /D "WIN32" /FD /EHa /MD /Gy /Yu"stdafx.h" /Fp"Release\Cstuff.pch" /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /nologo /c /Zi /TP /errorReport:prompt /clr<br /><br />and linked using<br /><br />/OUT:"...\Cstuff.dll" /INCREMENTAL:NO /NOLOGO /DLL /MANIFEST /MANIFESTFILE:"Release\Cstuff.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEF:".\Cstuff.def" /DEBUG /PDB:"...\Release\Cstuff.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT<br /><br />Anyway, <b>I think and hope the DLL created by VS does not play any role in this problem</b>. ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69703/</link>
      <pubDate>Fri, 06 Nov 2009 00:46:04 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/69703/</guid>
      <category>ISN General</category>
    </item>
  </channel></rss>