<?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: code calling memcpy.asm in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882888#M75807</link>
    <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/209258"&gt;nvaneck&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;My irritation comes from inadvertently trying to step through code and suddenly getting thrown into memcpy.asm before I catch myself...&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Are you using Step Into (F11) or Step Over (F10)? I see this behaviour only when using Step Into (so its justifiable in that sometimes it is handy to be able to debug inside the runtime) on a character assignment when the source and destination lengths match exactly (ie CHARACTER(10) :: ten_chars; ten_chars = '1234567890'). &lt;BR /&gt;&lt;BR /&gt;Depending on your version of Visual Studio, you might be able to explicitly tell the debugger not to go into the memcpy call: &lt;A title="http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx" href="http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx"&gt;http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx&lt;/A&gt;. Just putting "memcpy" in the data for a new string value in the relevant key seems to work under VS2005. Newer versions of VS might allow you to do this a little more transparently. &lt;BR /&gt;&lt;BR /&gt;Solution properties also include directories for the debugger to search (which by default include the C-runtime source directories that contains memcpy.asm) - not sure of the signficance of that here, but I've vague recollections that I've used this on a C++ project previously to avoid this sort of problem. When I experimented today debugging Fortran code I didn't have any luck and I found at least the exclude files part of that dialog appears to be buggy. Others may know better.&lt;BR /&gt;&lt;BR /&gt;If you have unintentionally landed in the runtime source, then Step Out (Shift-F11) should get you back to recognisable territory pretty quickly&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 17 Nov 2009 23:15:41 GMT</pubDate>
    <dc:creator>IanH</dc:creator>
    <dc:date>2009-11-17T23:15:41Z</dc:date>
    <item>
      <title>code calling memcpy.asm</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882884#M75803</link>
      <description>Why is my code randomly calling memcpy.asm? And what is memcpy.asm? It appears to be happening when character variables are assigned a value, but only sometimes. Any ideas?</description>
      <pubDate>Tue, 17 Nov 2009 14:22:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882884#M75803</guid>
      <dc:creator>Ryan_Smith</dc:creator>
      <dc:date>2009-11-17T14:22:19Z</dc:date>
    </item>
    <item>
      <title>Re: code calling memcpy.asm</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882885#M75804</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Unless you can specify a compiler and show a small example, I don't see how we can mention more than generalities. It's usual for a Fortran compiler to call a memcpy type library function when implementing a variable or long length string assignment.&lt;BR /&gt;</description>
      <pubDate>Tue, 17 Nov 2009 15:31:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882885#M75804</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2009-11-17T15:31:42Z</dc:date>
    </item>
    <item>
      <title>Re: code calling memcpy.asm</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882886#M75805</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/367365"&gt;tim18&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Unless you can specify a compiler and show a small example, I don't see how we can mention more than generalities. It's usual for a Fortran compiler to call a memcpy type library function when implementing a variable or long length string assignment.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;It irritates me, too. It seems to be called for every character assignment I use, large or small. It used to be a simple MVC in assembler, but now with variaous other language contraints it seems to be called all the time. Good thing computers have gotten much faster and memory much cheaper....</description>
      <pubDate>Tue, 17 Nov 2009 19:07:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882886#M75805</guid>
      <dc:creator>nvaneck</dc:creator>
      <dc:date>2009-11-17T19:07:10Z</dc:date>
    </item>
    <item>
      <title>Re: code calling memcpy.asm</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882887#M75806</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/209258"&gt;nvaneck&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;It irritates me, too. It seems to be called for every character assignment I use, large or small. It used to be a simple MVC in assembler, but now with variaous other language contraints it seems to be called all the time. Good thing computers have gotten much faster and memory much cheaper....&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;In fact, I just tested assigning one exact 10-character string to another and it took 39 assembler steps to do it. Fortunately, it only takes 8 steps when optimized. My irritation comes from inadvertently trying to step through code and suddenly getting thrown into memcpy.asm before I catch myself...</description>
      <pubDate>Tue, 17 Nov 2009 19:23:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882887#M75806</guid>
      <dc:creator>nvaneck</dc:creator>
      <dc:date>2009-11-17T19:23:16Z</dc:date>
    </item>
    <item>
      <title>Re: code calling memcpy.asm</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882888#M75807</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/209258"&gt;nvaneck&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;My irritation comes from inadvertently trying to step through code and suddenly getting thrown into memcpy.asm before I catch myself...&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Are you using Step Into (F11) or Step Over (F10)? I see this behaviour only when using Step Into (so its justifiable in that sometimes it is handy to be able to debug inside the runtime) on a character assignment when the source and destination lengths match exactly (ie CHARACTER(10) :: ten_chars; ten_chars = '1234567890'). &lt;BR /&gt;&lt;BR /&gt;Depending on your version of Visual Studio, you might be able to explicitly tell the debugger not to go into the memcpy call: &lt;A title="http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx" href="http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx"&gt;http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx&lt;/A&gt;. Just putting "memcpy" in the data for a new string value in the relevant key seems to work under VS2005. Newer versions of VS might allow you to do this a little more transparently. &lt;BR /&gt;&lt;BR /&gt;Solution properties also include directories for the debugger to search (which by default include the C-runtime source directories that contains memcpy.asm) - not sure of the signficance of that here, but I've vague recollections that I've used this on a C++ project previously to avoid this sort of problem. When I experimented today debugging Fortran code I didn't have any luck and I found at least the exclude files part of that dialog appears to be buggy. Others may know better.&lt;BR /&gt;&lt;BR /&gt;If you have unintentionally landed in the runtime source, then Step Out (Shift-F11) should get you back to recognisable territory pretty quickly&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 17 Nov 2009 23:15:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882888#M75807</guid>
      <dc:creator>IanH</dc:creator>
      <dc:date>2009-11-17T23:15:41Z</dc:date>
    </item>
    <item>
      <title>Re: code calling memcpy.asm</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882889#M75808</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/212570"&gt;IanH&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;&lt;BR /&gt;Are you using Step Into (F11) or Step Over (F10)? I see this behaviour only when using Step Into (so its justifiable in that sometimes it is handy to be able to debug inside the runtime) on a character assignment when the source and destination lengths match exactly (ie CHARACTER(10) :: ten_chars; ten_chars = '1234567890'). &lt;BR /&gt;&lt;BR /&gt;Depending on your version of Visual Studio, you might be able to explicitly tell the debugger not to go into the memcpy call: &lt;A title="http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx" href="http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx"&gt;http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspx&lt;/A&gt;. Just putting "memcpy" in the data for a new string value in the relevant key seems to work under VS2005. Newer versions of VS might allow you to do this a little more transparently. &lt;BR /&gt;&lt;BR /&gt;Solution properties also include directories for the debugger to search (which by default include the C-runtime source directories that contains memcpy.asm) - not sure of the signficance of that here, but I've vague recollections that I've used this on a C++ project previously to avoid this sort of problem. When I experimented today debugging Fortran code I didn't have any luck and I found at least the exclude files part of that dialog appears to be buggy. Others may know better.&lt;BR /&gt;&lt;BR /&gt;If you have unintentionally landed in the runtime source, then Step Out (Shift-F11) should get you back to recognisable territory pretty quickly&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Sure could step over, but usually I'm stepping through a bit more rapidly and watching variable changes, until it's too late. Not a major issue, just an annoyance I have yet to train myself out of...:)&lt;BR /&gt;&lt;BR /&gt;Thanks for the tip on Shift-F11!&lt;BR /&gt;</description>
      <pubDate>Wed, 18 Nov 2009 02:06:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/code-calling-memcpy-asm/m-p/882889#M75808</guid>
      <dc:creator>nvaneck</dc:creator>
      <dc:date>2009-11-18T02:06:57Z</dc:date>
    </item>
  </channel>
</rss>

