<?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>LPCXpresso IDE中的主题 Missing va_copy()</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Missing-va-copy/m-p/587526#M27690</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by g_mocken on Tue Feb 03 06:24:10 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am confused about &lt;/SPAN&gt;&lt;STRONG&gt;va_copy()&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; (one of the macros in stdarg.h used for dealing with variadic function arguments):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's defined as &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 &amp;gt;= 199900L || defined(__GXX_EXPERIMENTAL_CXX0X__)
#define va_copy(d,s)__builtin_va_copy(d,s)
#endif
#define __va_copy(d,s)__builtin_va_copy(d,s)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; in &lt;/SPAN&gt;&lt;I&gt;tools/lib/gcc/arm-none-eabi/4.8.4/include/stdarg.h&lt;/I&gt;&lt;SPAN&gt;, but apparently the file &lt;/SPAN&gt;&lt;I&gt;tools/redlib/include/stdarg.h&lt;/I&gt;&lt;SPAN&gt;, which omits this definition, i.e. only defines&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#define va_start(v,l) __builtin_va_start((v),l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v,l)__builtin_va_arg((v),l)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;is preferred - no matter what library (redlib or not) I use.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using directly &lt;/SPAN&gt;&lt;STRONG&gt;__builtin_va_copy()&lt;/STRONG&gt;&lt;SPAN&gt; seems to work, but that's a quick and (possibly) dirty solution. What would be a safe and portable one?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note that I am using C99.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;G.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 02:42:04 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T02:42:04Z</dc:date>
    <item>
      <title>Missing va_copy()</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Missing-va-copy/m-p/587526#M27690</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by g_mocken on Tue Feb 03 06:24:10 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am confused about &lt;/SPAN&gt;&lt;STRONG&gt;va_copy()&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; (one of the macros in stdarg.h used for dealing with variadic function arguments):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's defined as &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 &amp;gt;= 199900L || defined(__GXX_EXPERIMENTAL_CXX0X__)
#define va_copy(d,s)__builtin_va_copy(d,s)
#endif
#define __va_copy(d,s)__builtin_va_copy(d,s)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; in &lt;/SPAN&gt;&lt;I&gt;tools/lib/gcc/arm-none-eabi/4.8.4/include/stdarg.h&lt;/I&gt;&lt;SPAN&gt;, but apparently the file &lt;/SPAN&gt;&lt;I&gt;tools/redlib/include/stdarg.h&lt;/I&gt;&lt;SPAN&gt;, which omits this definition, i.e. only defines&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#define va_start(v,l) __builtin_va_start((v),l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v,l)__builtin_va_arg((v),l)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;is preferred - no matter what library (redlib or not) I use.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using directly &lt;/SPAN&gt;&lt;STRONG&gt;__builtin_va_copy()&lt;/STRONG&gt;&lt;SPAN&gt; seems to work, but that's a quick and (possibly) dirty solution. What would be a safe and portable one?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note that I am using C99.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;G.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:42:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Missing-va-copy/m-p/587526#M27690</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:42:04Z</dc:date>
    </item>
    <item>
      <title>Re: Missing va_copy()</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Missing-va-copy/m-p/587527#M27691</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Wed Feb 04 01:40:06 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Redlib does not implement a full C99 library, only part of it. If you want full C99 library support, you need to reconfigure your project to use Newlib / NewlibNano. If you reconfigure correctly, then the appropriate C library header files will then get picked up by the compiler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Ffaq%2Flpcxpresso%2Fredlib-and-newlib" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/redlib-and-newlib&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:42:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Missing-va-copy/m-p/587527#M27691</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:42:05Z</dc:date>
    </item>
  </channel>
</rss>

