| OLD | NEW |
| 1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
| 2 | 2 |
| 3 <section id="pnacl-c-c-language-support"> | 3 <section id="pnacl-c-c-language-support"> |
| 4 <h1 id="pnacl-c-c-language-support">PNaCl C/C++ Language Support</h1> | 4 <h1 id="pnacl-c-c-language-support">PNaCl C/C++ Language Support</h1> |
| 5 <div class="contents local topic" id="contents"> | 5 <div class="contents local" id="contents" style="display: none"> |
| 6 <ul class="small-gap"> | 6 <ul class="small-gap"> |
| 7 <li><p class="first"><a class="reference internal" href="#source-language-suppor
t" id="id2">Source language support</a></p> | 7 <li><p class="first"><a class="reference internal" href="#source-language-suppor
t" id="id2">Source language support</a></p> |
| 8 <ul class="small-gap"> | 8 <ul class="small-gap"> |
| 9 <li><a class="reference internal" href="#preprocessor-definitions" id="id3">Prep
rocessor definitions</a></li> | 9 <li><a class="reference internal" href="#preprocessor-definitions" id="id3">Prep
rocessor definitions</a></li> |
| 10 </ul> | 10 </ul> |
| 11 </li> | 11 </li> |
| 12 <li><p class="first"><a class="reference internal" href="#memory-model-and-atomi
cs" id="id4">Memory Model and Atomics</a></p> | 12 <li><p class="first"><a class="reference internal" href="#memory-model-and-atomi
cs" id="id4">Memory Model and Atomics</a></p> |
| 13 <ul class="small-gap"> | 13 <ul class="small-gap"> |
| 14 <li><a class="reference internal" href="#memory-model-for-concurrent-operations"
id="id5">Memory Model for Concurrent Operations</a></li> | 14 <li><a class="reference internal" href="#memory-model-for-concurrent-operations"
id="id5">Memory Model for Concurrent Operations</a></li> |
| 15 <li><a class="reference internal" href="#atomic-memory-ordering-constraints" id=
"id6">Atomic Memory Ordering Constraints</a></li> | 15 <li><a class="reference internal" href="#atomic-memory-ordering-constraints" id=
"id6">Atomic Memory Ordering Constraints</a></li> |
| 16 <li><a class="reference internal" href="#volatile-memory-accesses" id="id7">Vola
tile Memory Accesses</a></li> | 16 <li><a class="reference internal" href="#volatile-memory-accesses" id="id7">Vola
tile Memory Accesses</a></li> |
| 17 </ul> | 17 </ul> |
| 18 </li> | 18 </li> |
| 19 <li><a class="reference internal" href="#threading" id="id8">Threading</a></li> | 19 <li><a class="reference internal" href="#threading" id="id8">Threading</a></li> |
| 20 <li><a class="reference internal" href="#setjmp-and-longjmp" id="id9"><code>setj
mp</code> and <code>longjmp</code></a></li> | 20 <li><a class="reference internal" href="#setjmp-and-longjmp" id="id9"><code>setj
mp</code> and <code>longjmp</code></a></li> |
| 21 <li><a class="reference internal" href="#c-exception-handling" id="id10">C++ Exc
eption Handling</a></li> | 21 <li><a class="reference internal" href="#c-exception-handling" id="id10">C++ Exc
eption Handling</a></li> |
| 22 <li><a class="reference internal" href="#inline-assembly" id="id11">Inline Assem
bly</a></li> | 22 <li><a class="reference internal" href="#inline-assembly" id="id11">Inline Assem
bly</a></li> |
| 23 <li><p class="first"><a class="reference internal" href="#future-directions" id=
"id12">Future Directions</a></p> | 23 <li><p class="first"><a class="reference internal" href="#future-directions" id=
"id12">Future Directions</a></p> |
| 24 <ul class="small-gap"> | 24 <ul class="small-gap"> |
| 25 <li><a class="reference internal" href="#simd" id="id13">SIMD</a></li> | 25 <li><a class="reference internal" href="#simd" id="id13">SIMD</a></li> |
| 26 <li><a class="reference internal" href="#inter-process-communication" id="id14">
Inter-Process Communication</a></li> | 26 <li><a class="reference internal" href="#inter-process-communication" id="id14">
Inter-Process Communication</a></li> |
| 27 <li><a class="reference internal" href="#posix-style-signal-handling" id="id15">
POSIX-style Signal Handling</a></li> | 27 <li><a class="reference internal" href="#posix-style-signal-handling" id="id15">
POSIX-style Signal Handling</a></li> |
| 28 <li><a class="reference internal" href="#computed-goto" id="id16">Computed <code
>goto</code></a></li> | 28 <li><a class="reference internal" href="#computed-goto" id="id16">Computed <code
>goto</code></a></li> |
| 29 </ul> | 29 </ul> |
| 30 </li> | 30 </li> |
| 31 </ul> | 31 </ul> |
| 32 </div> | 32 |
| 33 <section id="source-language-support"> | 33 </div><section id="source-language-support"> |
| 34 <h2 id="source-language-support">Source language support</h2> | 34 <h2 id="source-language-support">Source language support</h2> |
| 35 <p>The currently supported languages are C and C++. The PNaCl toolchain is | 35 <p>The currently supported languages are C and C++. The PNaCl toolchain is |
| 36 based on Clang 3.3, which fully supports C++11 and most of C11. A | 36 based on Clang 3.3, which fully supports C++11 and most of C11. A |
| 37 detailed status of the language support is available <a class="reference externa
l" href="http://clang.llvm.org/cxx_status.html">here</a>.</p> | 37 detailed status of the language support is available <a class="reference externa
l" href="http://clang.llvm.org/cxx_status.html">here</a>.</p> |
| 38 <p>For information on using languages other than C/C++, see the <a class="refere
nce internal" href="/native-client/faq.html#other-languages"><em>FAQ | 38 <p>For information on using languages other than C/C++, see the <a class="refere
nce internal" href="/native-client/faq.html#other-languages"><em>FAQ |
| 39 section on other languages</em></a>.</p> | 39 section on other languages</em></a>.</p> |
| 40 <p>As for the standard libraries, the PNaCl toolchain is currently based on | 40 <p>As for the standard libraries, the PNaCl toolchain is currently based on |
| 41 <code>libc++</code>, and the <code>newlib</code> standard C library (version is
available | 41 <code>libc++</code>, and the <code>newlib</code> standard C library (version is
available |
| 42 through the macro <code>NEWLIB_VERSION</code>). <code>libstdc++</code> is also s
upported | 42 through the macro <code>NEWLIB_VERSION</code>). <code>libstdc++</code> is also s
upported |
| 43 but its use is discouraged; see <a class="reference internal" href="/native-clie
nt/devguide/devcycle/building.html#building-cpp-libraries"><em>C++ standard libr
aries</em></a> for more | 43 but its use is discouraged; see <a class="reference internal" href="/native-clie
nt/devguide/devcycle/building.html#building-cpp-libraries"><em>C++ standard libr
aries</em></a> for more |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 <code>volatile</code> and atomics with same-thread signal handling would need | 207 <code>volatile</code> and atomics with same-thread signal handling would need |
| 208 to be carefully detailed.</p> | 208 to be carefully detailed.</p> |
| 209 </section><section id="computed-goto"> | 209 </section><section id="computed-goto"> |
| 210 <h3 id="computed-goto">Computed <code>goto</code></h3> | 210 <h3 id="computed-goto">Computed <code>goto</code></h3> |
| 211 <p>PNaCl currently doesn’t support computed <code>goto</code>, a non-stand
ard | 211 <p>PNaCl currently doesn’t support computed <code>goto</code>, a non-stand
ard |
| 212 extension to C used by some interpreters.</p> | 212 extension to C used by some interpreters.</p> |
| 213 <p>NaCl supports computed <code>goto</code>.</p> | 213 <p>NaCl supports computed <code>goto</code>.</p> |
| 214 </section></section></section> | 214 </section></section></section> |
| 215 | 215 |
| 216 {{/partials.standard_nacl_article}} | 216 {{/partials.standard_nacl_article}} |
| OLD | NEW |