Imported Upstream version 0.9.2
[platform/upstream/iotivity.git] / service / protocol-plugin / lib / cpluff / doc / reference / c-api / group__cDefinesGCCAttributes.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>C-Pluff C API: GCC attributes</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.1 -->
8 <div class="tabs">
9   <ul>
10     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11     <li><a href="modules.html"><span>Modules</span></a></li>
12     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13     <li><a href="files.html"><span>Files</span></a></li>
14     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
15   </ul></div>
16 <h1>GCC attributes<br>
17 <small>
18 [<a class="el" href="group__cDefines.html">Defines</a>]</small>
19 </h1><hr><a name="_details"></a><h2>Detailed Description</h2>
20 These macros conditionally define GCC attributes for declarations. 
21 <p>
22 They are used in C-Pluff API declarations to enable better optimization and error checking when using GCC. In non-GCC platforms they have empty values. 
23 <p>
24 <table border="0" cellpadding="0" cellspacing="0">
25 <tr><td></td></tr>
26 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
27 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#g97e63f6bd1007545853c6ab4d0271e43">CP_GCC_PURE</a></td></tr>
28
29 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a function as pure function having no side effects.  <a href="#g97e63f6bd1007545853c6ab4d0271e43"></a><br></td></tr>
30 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#gca94f5f75abdc0d1c78572d95305c800">CP_GCC_NONNULL</a>(...)</td></tr>
31
32 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies that some pointer arguments to a function should have non-NULL values.  <a href="#gca94f5f75abdc0d1c78572d95305c800"></a><br></td></tr>
33 </table>
34 <hr><h2>Define Documentation</h2>
35 <a class="anchor" name="g97e63f6bd1007545853c6ab4d0271e43"></a><!-- doxytag: member="cpluffdef.h::CP_GCC_PURE" ref="g97e63f6bd1007545853c6ab4d0271e43" args="" -->
36 <div class="memitem">
37 <div class="memproto">
38       <table class="memname">
39         <tr>
40           <td class="memname">#define CP_GCC_PURE          </td>
41         </tr>
42       </table>
43 </div>
44 <div class="memdoc">
45
46 <p>
47 Declares a function as pure function having no side effects. 
48 <p>
49 This attribute is supported in GCC since version 2.96. Such functions can be subject to common subexpression elimination and loop optimization. 
50 </div>
51 </div><p>
52 <a class="anchor" name="gca94f5f75abdc0d1c78572d95305c800"></a><!-- doxytag: member="cpluffdef.h::CP_GCC_NONNULL" ref="gca94f5f75abdc0d1c78572d95305c800" args="(...)" -->
53 <div class="memitem">
54 <div class="memproto">
55       <table class="memname">
56         <tr>
57           <td class="memname">#define CP_GCC_NONNULL          </td>
58           <td>(</td>
59           <td class="paramtype"> <em>...</em>&nbsp;</td>
60           <td class="paramname">          </td>
61           <td>&nbsp;)&nbsp;</td>
62           <td width="100%"></td>
63         </tr>
64       </table>
65 </div>
66 <div class="memdoc">
67
68 <p>
69 Specifies that some pointer arguments to a function should have non-NULL values. 
70 <p>
71 Takes a variable length list of argument indexes as arguments. This attribute is supported in GCC since version 3.3. It can be used for enhanced error checking and some optimizations. 
72 </div>
73 </div><p>
74 <hr size="1">
75 <p class="footer">
76 <a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
77 Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
78 </p>
79 <p class="generated-by">
80 Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
81 </p>
82 </body>
83 </html>