summaryrefslogtreecommitdiff
path: root/devdocs/gcc~13/offsetof.html
diff options
context:
space:
mode:
Diffstat (limited to 'devdocs/gcc~13/offsetof.html')
-rw-r--r--devdocs/gcc~13/offsetof.html14
1 files changed, 14 insertions, 0 deletions
diff --git a/devdocs/gcc~13/offsetof.html b/devdocs/gcc~13/offsetof.html
new file mode 100644
index 00000000..110e909e
--- /dev/null
+++ b/devdocs/gcc~13/offsetof.html
@@ -0,0 +1,14 @@
+<div class="section-level-extent" id="Offsetof"> <div class="nav-panel"> <p> Next: <a href="_005f_005fsync-builtins" accesskey="n" rel="next">Legacy <code class="code">__sync</code> Built-in Functions for Atomic Memory Access</a>, Previous: <a href="vector-extensions" accesskey="p" rel="prev">Using Vector Instructions through Built-in Functions</a>, Up: <a href="c-extensions" accesskey="u" rel="up">Extensions to the C Language Family</a> [<a href="index#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="indices" title="Index" rel="index">Index</a>]</p> </div> <h1 class="section" id="Support-for-offsetof"><span>6.53 Support for offsetof<a class="copiable-link" href="#Support-for-offsetof"> ΒΆ</a></span></h1> <p>GCC implements for both C and C++ a syntactic extension to implement the <code class="code">offsetof</code> macro. </p> <div class="example smallexample"> <pre class="example-preformatted" data-language="cpp">primary:
+ "__builtin_offsetof" "(" <code class="code">typename</code> "," offsetof_member_designator ")"
+
+offsetof_member_designator:
+ <code class="code">identifier</code>
+ | offsetof_member_designator "." <code class="code">identifier</code>
+ | offsetof_member_designator "[" <code class="code">expr</code> "]"</pre>
+</div> <p>This extension is sufficient such that </p> <div class="example smallexample"> <pre class="example-preformatted" data-language="cpp">#define offsetof(<var class="var">type</var>, <var class="var">member</var>) __builtin_offsetof (<var class="var">type</var>, <var class="var">member</var>)</pre>
+</div> <p>is a suitable definition of the <code class="code">offsetof</code> macro. In C++, <var class="var">type</var> may be dependent. In either case, <var class="var">member</var> may consist of a single identifier, or a sequence of member accesses and array references. </p> </div><div class="_attribution">
+ <p class="_attribution-p">
+ &copy; Free Software Foundation<br>Licensed under the GNU Free Documentation License, Version 1.3.<br>
+ <a href="https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Offsetof.html" class="_attribution-link">https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Offsetof.html</a>
+ </p>
+</div>