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">
7 <!-- Generated by Doxygen 1.5.1 -->
10 <li><a href="index.html"><span>Main Page</span></a></li>
11 <li><a href="modules.html"><span>Modules</span></a></li>
12 <li><a href="annotated.html"><span>Data Structures</span></a></li>
13 <li><a href="files.html"><span>Files</span></a></li>
14 <li><a href="pages.html"><span>Related Pages</span></a></li>
16 <h1>GCC attributes<br>
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.
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.
24 <table border="0" cellpadding="0" cellspacing="0">
26 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
27 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#g97e63f6bd1007545853c6ab4d0271e43">CP_GCC_PURE</a></td></tr>
29 <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#gca94f5f75abdc0d1c78572d95305c800">CP_GCC_NONNULL</a>(...)</td></tr>
32 <tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies that some pointer arguments to a function should have non-NULL values. <a href="#gca94f5f75abdc0d1c78572d95305c800"></a><br></td></tr>
34 <hr><h2>Define Documentation</h2>
35 <a class="anchor" name="g97e63f6bd1007545853c6ab4d0271e43"></a><!-- doxytag: member="cpluffdef.h::CP_GCC_PURE" ref="g97e63f6bd1007545853c6ab4d0271e43" args="" -->
37 <div class="memproto">
38 <table class="memname">
40 <td class="memname">#define CP_GCC_PURE </td>
47 Declares a function as pure function having no side effects.
49 This attribute is supported in GCC since version 2.96. Such functions can be subject to common subexpression elimination and loop optimization.
52 <a class="anchor" name="gca94f5f75abdc0d1c78572d95305c800"></a><!-- doxytag: member="cpluffdef.h::CP_GCC_NONNULL" ref="gca94f5f75abdc0d1c78572d95305c800" args="(...)" -->
54 <div class="memproto">
55 <table class="memname">
57 <td class="memname">#define CP_GCC_NONNULL </td>
59 <td class="paramtype"> <em>...</em> </td>
60 <td class="paramname"> </td>
61 <td> ) </td>
62 <td width="100%"></td>
69 Specifies that some pointer arguments to a function should have non-NULL values.
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.
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>
79 <p class="generated-by">
80 Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1