<?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>Processor Expert SoftwareのトピックRe: code bugs in SSI_LDD</title>
    <link>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276383#M1863</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi again Vojtech,&lt;/P&gt;&lt;P&gt;I've been thinking more about this.&amp;nbsp; The C pattern of assigning to void* without casting is so common.&amp;nbsp; I started to wonder why all that code was breaking.&lt;/P&gt;&lt;P&gt;Well, turns out the C++ compiler is compiling those files as C++ and not as C.&lt;/P&gt;&lt;P&gt;There's a solution which I think makes more sense actually, which is to tell the C++ compiler (g++ in our case) to look at the file postfix and treat .c files as C and .cpp files as C++.&amp;nbsp; I mistakenly thought that's what it did normally but it turns out you need to tell it to do that, by putting '-x none' before your source files.&lt;/P&gt;&lt;P&gt;I learned about this here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://mcuoneclipse.com/2013/03/23/compiling-c-files-with-gnu-arm-g/" title="http://mcuoneclipse.com/2013/03/23/compiling-c-files-with-gnu-arm-g/"&gt;http://mcuoneclipse.com/2013/03/23/compiling-c-files-with-gnu-arm-g/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So now, I'm questioning my own supposition that these are bugs in your code.&amp;nbsp; Maybe the compiler flag for g++ should simply be invoked, so C files are compiled as C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Marc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 19 Jul 2013 20:31:24 GMT</pubDate>
    <dc:creator>bowerymarc</dc:creator>
    <dc:date>2013-07-19T20:31:24Z</dc:date>
    <item>
      <title>code bugs in SSI_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276380#M1860</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;yet another casting bug which while warning in C is fatal in C++:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 10px; font-family: 'Courier New';"&gt;../Generated_Code/SSI1.c: In function 'LDD_TError SSI1_SendBlocks(LDD_TDeviceData*, LDD_SSI_TDataBlocks*, std::uint16_t)':&lt;/P&gt;&lt;P style="font-size: 10px; font-family: 'Courier New'; color: #ff2a1a;"&gt;../Generated_Code/SSI1.c:504:72: error: invalid conversion from 'LDD_TData* {aka void*}' to 'std::uint8_t* {aka unsigned char*}' [-fpermissive]&lt;/P&gt;&lt;P style="font-size: 10px; font-family: 'Courier New';"&gt;../Generated_Code/SSI1.c:505:72: error: invalid conversion from 'LDD_TData* {aka void*}' to 'std::uint8_t* {aka unsigned char*}' [-fpermissive]&lt;/P&gt;&lt;P style="font-size: 10px; font-family: 'Courier New';"&gt;mingw32-make: *** [Generated_Code/SSI1.o] Error 1&lt;/P&gt;&lt;P style="font-size: 10px; font-family: 'Courier New';"&gt;&lt;/P&gt;&lt;P&gt;Can be fixed with proper casting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The file is also missing the 'extern C' wrapper which causes other compile errors.&amp;nbsp; Of course SSI1.h is also missing the wrapper as well.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jul 2013 22:13:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276380#M1860</guid>
      <dc:creator>bowerymarc</dc:creator>
      <dc:date>2013-07-16T22:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: code bugs in SSI_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276381#M1861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;could you please specify what verison of CW do you use? I was able to reproduce only the casting issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please note that C++ support was imporved from CW V10.4. We also do not test it. PEx is rather C++ ready, so as you can see in your case, some component neednt work properly. However we will try to improve all components for next release.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Vojtech Filip&lt;/P&gt;&lt;P&gt;Processor Expert Support Team&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Jul 2013 06:50:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276381#M1861</guid>
      <dc:creator>vfilip</dc:creator>
      <dc:date>2013-07-17T06:50:22Z</dc:date>
    </item>
    <item>
      <title>Re: code bugs in SSI_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276382#M1862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vojtech,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using CW 10.4 from about 2 weeks ago, all updates (from within Eclipse) applied. It would probably be worthwhile for you guys to at least compile every module (I assume you have regression testing scripts for this) to unearth these issues, as you did announce that PE is now C++ compatible. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I realize that the pattern of assigning pointers to void* is very common in C without explicit casting...&amp;nbsp;&amp;nbsp; I was looking around to see if there was a compiler flag or something to tell the C++ compiler to use C rules when compiling C files... seems it ought to do this but it's being C++ strict.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, Marc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Jul 2013 10:53:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276382#M1862</guid>
      <dc:creator>bowerymarc</dc:creator>
      <dc:date>2013-07-17T10:53:03Z</dc:date>
    </item>
    <item>
      <title>Re: code bugs in SSI_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276383#M1863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi again Vojtech,&lt;/P&gt;&lt;P&gt;I've been thinking more about this.&amp;nbsp; The C pattern of assigning to void* without casting is so common.&amp;nbsp; I started to wonder why all that code was breaking.&lt;/P&gt;&lt;P&gt;Well, turns out the C++ compiler is compiling those files as C++ and not as C.&lt;/P&gt;&lt;P&gt;There's a solution which I think makes more sense actually, which is to tell the C++ compiler (g++ in our case) to look at the file postfix and treat .c files as C and .cpp files as C++.&amp;nbsp; I mistakenly thought that's what it did normally but it turns out you need to tell it to do that, by putting '-x none' before your source files.&lt;/P&gt;&lt;P&gt;I learned about this here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://mcuoneclipse.com/2013/03/23/compiling-c-files-with-gnu-arm-g/" title="http://mcuoneclipse.com/2013/03/23/compiling-c-files-with-gnu-arm-g/"&gt;http://mcuoneclipse.com/2013/03/23/compiling-c-files-with-gnu-arm-g/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So now, I'm questioning my own supposition that these are bugs in your code.&amp;nbsp; Maybe the compiler flag for g++ should simply be invoked, so C files are compiled as C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Marc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Jul 2013 20:31:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/code-bugs-in-SSI-LDD/m-p/276383#M1863</guid>
      <dc:creator>bowerymarc</dc:creator>
      <dc:date>2013-07-19T20:31:24Z</dc:date>
    </item>
  </channel>
</rss>

