summaryrefslogtreecommitdiff
path: root/devdocs/c/11.html
diff options
context:
space:
mode:
Diffstat (limited to 'devdocs/c/11.html')
-rw-r--r--devdocs/c/11.html69
1 files changed, 69 insertions, 0 deletions
diff --git a/devdocs/c/11.html b/devdocs/c/11.html
new file mode 100644
index 00000000..b4044d37
--- /dev/null
+++ b/devdocs/c/11.html
@@ -0,0 +1,69 @@
+ <h1 id="firstHeading" class="firstHeading">C11</h1> <p><b>ISO/IEC 9899:2011</b>, a.k.a. <b>C11</b>, is a previous revision of the C standard.</p>
+<h2 id="Obsolete"> Obsolete</h2> <h3 id="Removed"> Removed</h3> <ul><li> <code><a href="io/gets" title="c/io/gets">gets()</a></code> </li></ul> <h2 id="New_language_features"> New language features</h2> <ul>
+<li> Multithreaded environments <ul>
+<li> <a href="language/atomic" title="c/language/atomic">Atomic objects</a> (<a href="keyword/_atomic" title="c/keyword/ Atomic"><code>_Atomic</code></a>) </li>
+<li> <a href="language/storage_duration#Storage_duration" title="c/language/storage duration">Thread local storage</a> (<a href="keyword/_thread_local" title="c/keyword/ Thread local"><code>_Thread_local</code></a>) </li>
+</ul> </li>
+<li> Enhanced alignment support <ul>
+<li> <a href="language/_alignof" title="c/language/ Alignof">Alignment query</a> (<a href="keyword/_alignof" title="c/keyword/ Alignof"><code>_Alignof</code></a>) </li>
+<li> <a href="language/_alignas" title="c/language/ Alignas">Alignment strengthening</a> (<a href="keyword/_alignas" title="c/keyword/ Alignas"><code>_Alignas</code></a>) </li>
+<li> Over-aligned types </li>
+</ul> </li>
+<li> Unicode support <ul>
+<li> <a href="language/character_constant" title="c/language/character constant"><code>u</code>/<code>U</code> character constants</a> </li>
+<li> <a href="language/string_literal" title="c/language/string literal"><code>u8</code>/<code>u</code>/<code>U</code> string literals</a> </li>
+</ul> </li>
+<li> <a href="language/generic" title="c/language/generic">Generic selection expressions</a> (<a href="keyword/_generic" title="c/keyword/ Generic"><code>_Generic</code></a>) </li>
+<li> <a href="language/_noreturn" title="c/language/ Noreturn">Non-returning functions</a> (<a href="keyword/_noreturn" title="c/keyword/ Noreturn"><code>_Noreturn</code></a>) </li>
+<li> Anonymous <a href="language/struct" title="c/language/struct">struct</a> and <a href="language/union" title="c/language/union">union</a> members </li>
+<li> Fine-grained <a href="language/eval_order" title="c/language/eval order">evaluation order</a> </li>
+<li> Extending the lifetime of <a href="language/lifetime#Temporary_lifetime" title="c/language/lifetime">temporary objects</a> </li>
+<li> <a href="language/_static_assert" title="c/language/ Static assert"><code>_Static_assert</code></a> </li>
+<li> <a href="language/analyzability" title="c/language/analyzability">Analyzability</a> </li>
+</ul> <h3 id="Feature_test_macros_for_optional_features"> Feature test macros for optional features</h3> <ul>
+<li> <a href="preprocessor/replace" title="c/preprocessor/replace"><code>__STDC_ANALYZABLE__</code></a> <ul><li> Indicates analyzability is supported. </li></ul> </li>
+<li> <a href="preprocessor/replace" title="c/preprocessor/replace"><code>__STDC_LIB_EXT1__</code></a> <ul><li> Indicates bounds checking functions are supported. </li></ul> </li>
+<li> <a href="preprocessor/replace" title="c/preprocessor/replace"><code>__STDC_NO_ATOMICS__</code></a> <ul><li> Indicates atomic objects and the atomic operation library are not supported. </li></ul> </li>
+<li> <a href="preprocessor/replace" title="c/preprocessor/replace"><code>__STDC_NO_COMPLEX__</code></a> <ul><li> Indicates complex types and the complex math functions are not supported. </li></ul> These features were mandatory in C99. </li>
+<li> <a href="preprocessor/replace" title="c/preprocessor/replace"><code>__STDC_NO_THREADS__</code></a> <ul><li> Indicates thread local storage and the thread support library are not supported. </li></ul> </li>
+<li> <a href="preprocessor/replace" title="c/preprocessor/replace"><code>__STDC_NO_VLA__</code></a> <ul><li> Indicates <a href="language/array#Variable-length_arrays" title="c/language/array">variable length arrays and variably modified types</a> are not supported. </li></ul> These features were mandatory in C99. </li>
+</ul> <h2 id="New_library_features"> New library features</h2> <h3 id="New_headers"> New headers</h3> <ul>
+<li> <a href="types" title="c/types"><code>&lt;stdalign.h&gt;</code></a> </li>
+<li> <a href="thread#Atomic_operations" title="c/thread"><code>&lt;stdatomic.h&gt;</code></a> </li>
+<li> <a href="language/_noreturn" title="c/language/ Noreturn"><code>&lt;stdnoreturn.h&gt;</code></a> </li>
+<li> <a href="thread" title="c/thread"><code>&lt;threads.h&gt;</code></a> </li>
+<li> <a href="string/multibyte" title="c/string/multibyte"><code>&lt;uchar.h&gt;</code></a> </li>
+</ul> <h3 id="Library_features"> Library features</h3> <ul>
+<li> <a href="thread" title="c/thread">Concurrency support library</a> </li>
+<li> <a href="memory/aligned_alloc" title="c/memory/aligned alloc"><code>aligned_alloc()</code></a> </li>
+<li> UTF-16/32 type aliases <ul>
+<li> <a href="string/multibyte/char16_t" title="c/string/multibyte/char16 t"><code>char16_t</code></a> </li>
+<li> <a href="string/multibyte/char32_t" title="c/string/multibyte/char32 t"><code>char32_t</code></a> </li>
+</ul> </li>
+<li> UTF-16/32 conversion functions <ul>
+<li> <code><a href="string/multibyte/mbrtoc16" title="c/string/multibyte/mbrtoc16">mbrtoc16()</a></code> </li>
+<li> <code><a href="string/multibyte/mbrtoc32" title="c/string/multibyte/mbrtoc32">mbrtoc32()</a></code> </li>
+<li> <code><a href="string/multibyte/c16rtomb" title="c/string/multibyte/c16rtomb">c16rtomb()</a></code> </li>
+<li> <code><a href="string/multibyte/c32rtomb" title="c/string/multibyte/c32rtomb">c32rtomb()</a></code> </li>
+</ul> </li>
+<li> <code><a href="program/quick_exit" title="c/program/quick exit">quick_exit</a></code> </li>
+<li> <code><a href="program/at_quick_exit" title="c/program/at quick exit">at_quick_exit</a></code> </li>
+<li> Exclusive modes of <code><a href="io/fopen" title="c/io/fopen">fopen()</a></code> and <code><a href="io/freopen" title="c/io/freopen">freopen()</a></code> (<code>"x"</code>) </li>
+<li> <a href="error#Bounds_checking" title="c/error">Bounds checking functions</a> </li>
+<li> <a href="chrono/timespec" title="c/chrono/timespec"><code>timespec</code></a> </li>
+<li> <a href="chrono/timespec_get" title="c/chrono/timespec get"><code>timespec_get()</code></a> </li>
+<li> <a href="numeric/complex/cmplx" title="c/numeric/complex/CMPLX"><code>CMPLX(F|L)?</code></a> </li>
+<li> New numeric limit macros <ul>
+<li> <a href="types/limits" title="c/types/limits"><code>(FLT|DBL|LDBL)_DECIMAL_DIG</code></a> </li>
+<li> <a href="types/limits" title="c/types/limits"><code>(FLT|DBL|LDBL)_TRUE_MIN</code></a> </li>
+<li> <a href="types/limits" title="c/types/limits"><code>(FLT|DBL|LDBL)_HAS_SUBNORM</code></a> </li>
+</ul> </li>
+<li> Thread local <code><a href="error/errno" title="c/error/errno">errno</a></code> </li>
+</ul> <h2 id="Defect_reports"> Defect reports</h2> <p><a href="https://en.cppreference.com/mwiki/index.php?title=Template:c/language/history/DR11&amp;action=edit&amp;redlink=1" class="new" title="Template:c/language/history/DR11 (page does not exist)">Template:c/language/history/DR11</a></p>
+<h2 id="Compiler_support"> Compiler support</h2> <p><a href="https://en.cppreference.com/mwiki/index.php?title=Template:c/compiler_support/11&amp;action=edit&amp;redlink=1" class="new" title="Template:c/compiler support/11 (page does not exist)">Template:c/compiler support/11</a></p>
+<div class="_attribution">
+ <p class="_attribution-p">
+ &copy; cppreference.com<br>Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.<br>
+ <a href="https://en.cppreference.com/w/c/11" class="_attribution-link">https://en.cppreference.com/w/c/11</a>
+ </p>
+</div>