<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 08:36:34 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/intel-parallel-composer-kb/type/software-defects/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/intel-parallel-composer-kb/software-defects/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Warning #677: memory usage conflict with precompiled header file seen on Windows* XP and Linux*</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number :</strong> DPD200136749<br /><br /><br /><strong>Version : </strong>10.1, 11.0, 11.1<br /><br /><br /><strong>Product : </strong>Intel® C++ Compilers Professional Edition for Windows* and Linux*.  Intel ® Parallel Composer.<br /><br /><br /><strong>Operating System :</strong> Windows* versions prior to Windows Vista* or equivalent, Linux*<br /><br /><br /><strong>Problem Description : </strong>When using precompiled headers, you may see the diagnostic:<br /><br />Warning #677: memory usage conflict with precompiled header file<br /><br />This means that there was an internal problem with the precompiled header processing in the compiler and precompiled headers will not be used for the file in question which may cause an increase in build times.<br /><br /><br /><strong>Resolution Status :</strong> We are investigating this issue.  Please contact us via the User Forum or Intel® Premier Support if you are experiencing this issue.<br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/warning-677-memory-usage-conflict-with-precompiled-header-file-seen-on-windows-xp-and-linux</link>
      <pubDate>Thu, 22 Oct 2009 15:35:39 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/warning-677-memory-usage-conflict-with-precompiled-header-file-seen-on-windows-xp-and-linux#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/warning-677-memory-usage-conflict-with-precompiled-header-file-seen-on-windows-xp-and-linux</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Unresolved External Symbol Error at Link Phase when Enabled &amp;#34;/Qlong_double&amp;#34;</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Reference Number : DPD200084693</b><br /><br /><br /><b>Version : 11.1.038 </b><br /><br /><br /><b>Operating System : Windows</b><br /><br /><br /><b>Problem Description : </b><br /><br />Following case will get unresolved external symbol error at linking stage if use c++ stream to pass numerical variables with option /Qlong_double specified.<br /><br />Case: test006.cpp<br />
<pre name="code" class="cpp">#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
using namespace std;
int main()
{
            int x=0;          //line 6
            cout &lt;&lt; x;      //line 7
}
</pre>
<p><br />Command:</p>
<blockquote>
<p>icl /Od /Ob1 /Qlong_double /MDd test006.cpp </p>
</blockquote>
<p><br />Fail Output:</p>
<blockquote>
<p> -out:test006.exe<br />test006.obj<br />test006.obj : error LNK2001: unresolved external symbol "protected: virtual class std::ostreambuf_iterator&lt;char,struct std::char_traits&lt;char&gt; &gt; __thiscall std::num_put&lt;char,class std::ostreambuf_iterator&lt;char,struct std::char_traits&lt;char&gt; &gt; &gt;::do_put(class std::ostreambuf_iterator&lt;char,struct std::char_traits&lt;char&gt; &gt;,class std::ios_base &amp;,char,UNKNOWN)const " (?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@D_T@Z)<br />test006.exe : fatal error LNK1120: 1 unresolved externals</p>
</blockquote>
<p> </p>
<p>While if changing line 6 &amp; 7 to following,  the test will link fine: </p>
<pre name="code" class="cpp">char x='0';          //line 6
cout &lt;&lt; x;          //line 7</pre>
<p><br />Currently only using the option combination like "/Ob{1|2} /Qlong_double /MD[d]" and the use of C++ stream to pass numerical variable will trigger this link failure.  </p>
<p><b><br />Resolution Status : </b><br />This is a regression from C++ Compiler 11.0 regarding a new feature on 11.1:<br />"The post-11.0 handling of dllimport and inline, decides not to emit the funciton definition in this case, because it is expected to be supplied from the DLL. You can get the 11.0 and before behavior back by using /mGLOB_cg_lower_dllimport=F."<br /><br />Other possible work-arounds are:<br />1. Use /Ob0 while using /Qlong_double.<br />2. Avoid the use of C++ stream to pass numerical variables. In this case use printf instead.<br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></p>
</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/unresolved-external-symbol-error-at-link-phase-when-enabled-qlong_double</link>
      <pubDate>Wed, 19 Aug 2009 02:19:50 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/unresolved-external-symbol-error-at-link-phase-when-enabled-qlong_double#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/unresolved-external-symbol-error-at-link-phase-when-enabled-qlong_double</guid>
      <category>Intel® Compilers</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Stack Frame Run-time Check incompatible with Microsoft* Visual C++ x64</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Reference Number : DPD200084262</b><br /><br /><br /><b>Version : 11.1.038 for Windows running on Intel(R) 64</b><br /><br /><br /><b>Operating System : Windows x64 edition</b><br /><br /><br /><b>Problem Description : <br /></b>The following program will get stack frame Run-Time Check(RTC) failure due to incompatible RTC stack frame check between Intel C++ Compiler for Windows and Microsoft* Visual C++ 2005 or 2008 for x64 run time library.<br /><br />--- Program ---<br />
<pre name="code" class="cpp">void sub();

int main(int argc, char* argv[])
{
  sub();
  return 0;
}

void sub()
{
  int i;
  __declspec(align(64)) float aiueo[256];

  for (i=0;i&lt;256;i++)
    aiueo[i] = 0;

  return;
}</pre>
<br />--- RTC error message ---<br /><br />
<blockquote>Run-Time Check Failure #2 - Stack around the variable 'result.38007' was corrupted.</blockquote>
<br />--- problem definition ---<br /><br />
<blockquote>If array "aiueo" is defined as align(32), align(64) or above, this failure will expose. If array "aiueo" is defined as align(8), align(16), this failure will be avoided.</blockquote>
<br />This is a stack frame Run-Time Check(RTC: /RTCs) incompatible issue between Intel C++ Compiler for Windows and Microsoft Visual C++ Compiler for x64 platform run time library. The program binary is actually gengerated correctly.<br /><br /><b>Resolution Status : <br /></b><br />This has been fixed in the 11.1.046 C++ Compiler for Windows.<br /><br /> <br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/stack-frame-run-time-check-incompatible-with-microsoft-visual-c</link>
      <pubDate>Sun, 02 Aug 2009 20:03:08 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/stack-frame-run-time-check-incompatible-with-microsoft-visual-c#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/stack-frame-run-time-check-incompatible-with-microsoft-visual-c</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Use of PCH and /Zi with Boost* Libraries May Result in unresolved external symbols due to Anonymous Namespace Use</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number :</strong> DPD200135511<br /><br /><br /><strong>Version :</strong> 11.1<br /><br /><br /><strong>Operating System : </strong>Windows*<br /><br /><br /><strong>Problem Description :</strong> The Boost* STL library's bind functionality uses a construct called placeholders to bind function arguments to a function.  Boost implements these placeholders in an anonymous namespace which the Intel® C++ Compiler has problems with when pre-compiled header files are used and debug symbol generation is enabled.  The following code demonstrates the problem (requires Boost* libraries).<br /><br />pch.h:<br />
<pre name="code" class="cpp">#include &lt;boost/bind.hpp&gt;</pre>
pch.cpp:<br />
<pre name="code" class="cpp">#include "pch.h"</pre>
test-bind.cpp:<br />
<pre name="code" class="cpp">#include "pch.h" class blh_widge { public: void Init(); private: void OnInputComplete(int, int, int); }; void blh_widge::Init() { boost::bind(&amp;blh_widge::OnInputComplete, this, _1, _2, _3) {} } int main() { return(0); }</pre>
Reproduce:<br />
<pre name="code" class="plain:nogutter:nocontrols">icl -Od -I&lt;boost include&gt; -Ycpch.h -Fptest-bind.pch -c -Zi pch.cpp icl -Od -I&lt;boost include&gt; -Yupch.h -Fptest-bind.pch -Zi test-bind.cpp test-bind.cpp Microsoft (R) Incremental Linker Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. -out:test-bind.exe -debug -pdb:test-bind.pdb test-bind.obj test-bind.obj : error LNK2019: unresolved external symbol "struct boost::arg&lt;1&gt; __N_13_test_bind_cpp_main::_1" (?_1@__N_13_test_bind_cpp_main@@3U?$arg@$00@boost @@A) referenced in function ___sti__?_1@__N_13_test_bind_cpp_main@@3U?$arg@$00@b oost@@A test-bind.obj : error LNK2019: unresolved external symbol "struct boost::arg&lt;2&gt; __N_13_test_bind_cpp_main::_2" (?_2@__N_13_test_bind_cpp_main@@3U?$arg@$01@boost @@A) referenced in function ___sti__?_2@__N_13_test_bind_cpp_main@@3U?$arg@$01@b oost@@A test-bind.obj : error LNK2019: unresolved external symbol "struct boost::arg&lt;3&gt; __N_13_test_bind_cpp_main::_3" (?_3@__N_13_test_bind_cpp_main@@3U?$arg@$02@boost @@A) referenced in function ___sti__?_3@__N_13_test_bind_cpp_main@@3U?$arg@$02@b oost@@A test-bind.exe : fatal error LNK1120: 3 unresolved externals</pre>
<br /><br /><br /><strong>Resolution Status :</strong> This issue is resolved in the Intel® Parallel Composer Update 1 or Intel® C++ Compiler Professional Edition for Windows* 11.1.038.<br /><br /><br /><em>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</em></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/use-of-pch-and-zi-with-boost-libraries-may-result-in-unresolved-external-symbols-due-to-anonymous-namespace-use</link>
      <pubDate>Thu, 23 Jul 2009 22:06:41 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/use-of-pch-and-zi-with-boost-libraries-may-result-in-unresolved-external-symbols-due-to-anonymous-namespace-use#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/use-of-pch-and-zi-with-boost-libraries-may-result-in-unresolved-external-symbols-due-to-anonymous-namespace-use</guid>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>How to create a preprocessed file (.i file)</title>
      <description><![CDATA[ <p>Usually when there's a compiler bug, we will need a testcase. Otherwise we won't be able to find the problem and verify the fix. <br /><br />Because we won't be able to have the same environment as yours, we will need either a testcase or a preprocessed file (.i file). <br /><br />Sometimes a small testcase may not always duplicate the problem. And also you may not have the time to create a testcase. So a preprocessed file would work in such case.</p>
<p><br /><strong>Note </strong>about a proprocessed file (.i file): it contains all the source code in original .cpp/.c as well as all the needed header files. The compiler (icl or cl) generates the code based on the compile options and include files. So the .i file generated by icl.exe is most likely different than the one generated by cl.exe.<br /><br />To create a preprocessed file (.i file), just add "-EP -P" to the compile option, and recompile the original .cpp file.  You can also generate a .i file directly from the "Prepocessor" property in Visual Studio*:</p>
<ul>
<li>Right click the file name, and click properties</li>
<li>Click Preprocessor\Generate Preprocessed File\Without Line Numbers (/EP /P)</li>
</ul>
<p>if you recompile from a command window, the .i file will be created under the current directory.</p>
<p>if you recompile from within the Visual Studio* IDE, the .i file will be created under the directory where the original source file is located.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-create-a-preprocessed-file-i-file</link>
      <pubDate>Thu, 23 Jul 2009 09:29:11 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-create-a-preprocessed-file-i-file#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-create-a-preprocessed-file-i-file</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>compiler internal error 0_1279</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Reference Number : DPD200008448, DPD200137998</b><br /><br /><br /><b>Version : All the 10.x, 11.x compilers and the older versions.</b><br /><br /><br /><b>Operating System : Linux, Windows</b><br /><br /><br /><b>Problem Description : </b><br />    Test case 1: test.c<br />             int round(float in);<br />             int foo(float in)<br />             {<br />                  int res=round(in);<br />                  if(res !=0) res = 1;<br />                   return res;<br />              }<br /><br />        Test case 2: test.c<br />              float memcpy(char*, char*, int);<br />              float res;<br />              void foo(char* in, char* out)<br />              {<br />                   res = memcpy(in, out, 100);<br />              }<br />     Test case 3: test.c<br />             double pow();<br />             void bar(double);<br />             void foo()<br />             {<br />                  int a=0;<br />                  int b[1]={255};<br />                  bar(pow(b[a],2));<br />             }<br />     compile the test case: icl test.c -c<br />The compiler will report the internal error 0_0, or the internal error 0_1279, or the internal error 0_1208 etc in difference cases.<br />This is the problem in all the cases where the compiler recognize something (defined by user differently than in compiler intrinsics table) being an intrinsic call and expand this call inline.<br /><b>Resolution Status : </b><br />1. Change the function name to your own name different to the compiler intrinsic function. For example, change 'round' in case 1 to 'myround', change 'memcpy' in case 2 to 'mymemcpy', change 'pow' in case 3 to 'mypow'.<br />2. Include the compiler head files to use the intrinsic functions provided by compiler instead of to define your own. Be carefull to the compiler warnings for incompatible declarations during compilation stage.<br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/compiler-internal-error-0_1279</link>
      <pubDate>Mon, 20 Jul 2009 19:50:24 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/compiler-internal-error-0_1279#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/compiler-internal-error-0_1279</guid>
      <category>Intel® Parallel Composer</category>
      <category>Intel® Compilers</category>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Internal Compiler Error</title>
      <description><![CDATA[ <!--page break--> 
<hr />
<div class="sectionHeading">Problem Description</div>
<p>A compilation fails with a message similar to one of the following:</p>
<blockquote>example.c(22): internal error: <br /><br />Please visit 'http://www.intel.com/software/products/support' for assistance.<br /><br />[ Aborting due to internal error. ]<br /><br />compilation aborted for example.c (code 1) <br /></blockquote>
<p> </p>
<p>or</p>
<blockquote>catastrophic error: **Internal compiler error: internal abort** <br /><br />Please report this error along with the circumstances in which it occurred in a Software Problem Report. <br /><br />Note: File and line given may not be explicit cause of this error.<br /><br />compilation aborted for example.f90 (code 3)<br /></blockquote>
<p> </p>
<!--page break--> 
<hr />
<div class="sectionHeading">Explanation</div>
<p>This message usually indicates a compiler defect.</p>
<p>Please report the problem to Intel through the <a href="http://software.intel.com/en-us/forums/">Intel® Software Network Forums</a> or <a href="https://premier.intel.com/">Intel® Premier Support</a> (support license and registration required). You will need to supply a test case along with a list of the compile options used and the exact compiler version that shows the problem. If you are not using a current compiler version, try the most recent version available to you as the error may have already been corrected.</p>
<p>Please note that this message is generic in nature and does not have a single cause nor solution. Providing a test case that reproduces the error is the only way to get a precise analysis of the problem.</p>
<p>In some, but not all, cases, you can work around the error by reducing the optimization level. You may find it helpful to try compiling with fewer switches to see if you can find one that, when removed, eliminates the error. It is also helpful to remove or comment out portions of the source file to see if you can isolate the line or lines that trigger the problem. The smaller the test case, the easier it will be for Intel to resolve the problem.</p>
<p> </p>
<p> </p>
<p> </p>
<p><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></p>
<p> </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/internal-compiler-error</link>
      <pubDate>Thu, 02 Jul 2009 10:24:50 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/internal-compiler-error#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/internal-compiler-error</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Unable to set compiler option /Qfp-speculation from IDE</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Reference Number : <br />U66541 / DPD200137349</b><br /><br /><b>Version : <br /></b>Intel C++ compiler 11.1.035<br /><br /><br /><b>Operating System : <br /></b>Windows <br /><br /><br /><b>Problem Description : </b><br /><br />When I change the project property in VS2003 to set the /Qfp-speculation to safe, the result in command line is not "/Qfp-speculation:safe", it is appearing as "/Qfp-speculationsafe" and we get error during compilation.<br /><b><br />Resolution Status : </b><br /><br /><br />One needs to provide an argument to compiler /Qfp-speculation. The valid arguments are fast, safe, strict and off. The compiler option /Qfp-speculation from IDE is not being set properly. You may set this option from command line property page as work around.<br /><br />We have tried /Qfp-speculation:safe in VS2008 from command line and there is no issue.<br /><br /><i><br /><br /><br />[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/unable-to-set-compiler-option-qfp-speculation-from-ide</link>
      <pubDate>Thu, 02 Jul 2009 10:13:29 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/unable-to-set-compiler-option-qfp-speculation-from-ide#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/unable-to-set-compiler-option-qfp-speculation-from-ide</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>How to troubleshoot if Microsoft* Visual Studio integration with Intel(R) Parallel Inspector does not work and the controls are not visible or exposed properly</title>
      <description><![CDATA[ <p><strong>Problem : </strong>You have successfully installed Intel(R) Parallel Amplifier (or any Intel(R) Parallel Studio tools) but the toolbar for Parallel Amplifier (or whatever Parallel Studio tool(s) you installed) does not appear in Visual Studio.<br /><br /><br /><strong>Environment : </strong>Microsoft* Visual Studio* versions that have installed Parallel Studio tools.<br /><br /><br /><strong>Root Cause :</strong> Tool bar is not visible, either because it is not enabled or it is obscured by other tool bars that are enabled.<br /><br /><br /><strong>Resolution : </strong>Here are some suggestions:<br />* Select the View-&gt;Toolbars menu to confirm that the menu option "Intel Parallel Amplifier" is available and checked. If not checked, you can select the toolbar option and the toolbar should become visible.<br />* It is possible that the Parallel Amplifier toolbar is installed and available but all the Visual Studio* toolbars are positioned such that the Parallel Amplifier toolbar is not prominently visible. In this case, consider dragging around some toolbars and reposition them to ensure that the Amplifier tool bar is more prominently visible. If there are toolbars that you do not use, you can deselect such toolbars to better use the toolbar space.<br />* Some non-English OSes may have issues. Please see this KB article for more information: <a title="http://software.intel.com/en-us/articles/installation-of-intel-parallel-amplifier-on-non-english-operating-systems/" href="http://software.intel.com/en-us/articles/installation-of-intel-parallel-amplifier-on-non-english-operating-systems/" target="_blank">http://software.intel.com/en-us/articles/installation-of-intel-parallel-amplifier-on-non-english-operating-systems/<br /></a>* If none of the suggestions above work, please post your question on the <a title="Parallel Studio forum" href="http://software.intel.com/en-us/forums/intel-parallel-studio/" target="_blank">Parallel Studio forum</a>. <br /><br />*Other names and brands may be claimed as the property of others.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-troubleshoot-if-microsoft-visual-studio-integration-does-not-work-and-the-controls-are-not-visible-or-exposed-properly</link>
      <pubDate>Tue, 21 Apr 2009 14:25:25 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-troubleshoot-if-microsoft-visual-studio-integration-does-not-work-and-the-controls-are-not-visible-or-exposed-properly#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-troubleshoot-if-microsoft-visual-studio-integration-does-not-work-and-the-controls-are-not-visible-or-exposed-properly</guid>
      <category>Parallel Programming</category>
      <category>Tools</category>
      <category>Intel® Parallel Amplifier Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
      <category>Intel® Parallel Inspector Knowledge Base</category>
    </item>
    <item>
      <title>OpenMP* Loops with Function Calls for Bounds May Not Parallelize</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number :</strong>  DPD200110877<br /><br /><br /><strong>Version :</strong> 11.0, 11.1 or Intel® Parallel Composer<br /><br /><br /><strong>Operating System : </strong>Windows*, Linux*, Mac OS X*<br /><br /><br /><strong>Problem Description : </strong>The OpenMP* 3.0 standard now supports using STL iterators for OpenMP loop bounds.  However, the Intel® C++ Compiler does not parallelize code like the following:<br /><br />
<pre name="code" class="cpp">#include &lt;vector&gt;

void iterator_example()
{
  std::vector&lt;double&gt; vec(23);
  std::vector&lt;double&gt;::iterator it;

#pragma omp parallel for default(none) shared(vec) 
  for (it = vec.begin(); it &lt; vec.end(); it++)
  {
    *it = 1.0;// do work with *it //
  }
}</pre>
<br /><br />The compiler will not give an indication (as it should) that the loop was parallelized for OpenMP*.  If you examine the code, you will see that the compiler generates a serial version of the loop.  This is because of an issue with the compiler using function calls on loop bounds that are inlined causing the compiler to not recognize the loop as being a validly formed loop for parallelization.<br /><br /><br /><strong>Resolution Status : </strong>This will be resolved in an upcoming compiler update.<br /><br /><br /><br /><em>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</em></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/openmp-loops-with-function-calls-for-bounds-may-not-parallelize</link>
      <pubDate>Thu, 12 Mar 2009 17:06:43 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/openmp-loops-with-function-calls-for-bounds-may-not-parallelize#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/openmp-loops-with-function-calls-for-bounds-may-not-parallelize</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
  </channel></rss>