diff options
Diffstat (limited to 'devdocs/c/11.html')
| -rw-r--r-- | devdocs/c/11.html | 69 |
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><stdalign.h></code></a> </li> +<li> <a href="thread#Atomic_operations" title="c/thread"><code><stdatomic.h></code></a> </li> +<li> <a href="language/_noreturn" title="c/language/ Noreturn"><code><stdnoreturn.h></code></a> </li> +<li> <a href="thread" title="c/thread"><code><threads.h></code></a> </li> +<li> <a href="string/multibyte" title="c/string/multibyte"><code><uchar.h></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&action=edit&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&action=edit&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"> + © 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> |
