1136f6b6cSFaraz Vahedi.\" Copyright (C) 2007, 2010 Gabor Kovesdan. All rights reserved. 2136f6b6cSFaraz Vahedi.\" Copyright (C) 2021 Faraz Vahedi <kfv@kfv.io> 3136f6b6cSFaraz Vahedi.\" 4136f6b6cSFaraz Vahedi.\" Redistribution and use in source and binary forms, with or without 5136f6b6cSFaraz Vahedi.\" modification, are permitted provided that the following conditions 6136f6b6cSFaraz Vahedi.\" are met: 7136f6b6cSFaraz Vahedi.\" 1. Redistributions of source code must retain the above copyright 8136f6b6cSFaraz Vahedi.\" notice, this list of conditions and the following disclaimer. 9136f6b6cSFaraz Vahedi.\" 2. Redistributions in binary form must reproduce the above copyright 10136f6b6cSFaraz Vahedi.\" notice, this list of conditions and the following disclaimer in the 11136f6b6cSFaraz Vahedi.\" documentation and/or other materials provided with the distribution. 12136f6b6cSFaraz Vahedi.\" 13136f6b6cSFaraz Vahedi.\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14136f6b6cSFaraz Vahedi.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15136f6b6cSFaraz Vahedi.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16136f6b6cSFaraz Vahedi.\" ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE 17136f6b6cSFaraz Vahedi.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18136f6b6cSFaraz Vahedi.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19136f6b6cSFaraz Vahedi.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20136f6b6cSFaraz Vahedi.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21136f6b6cSFaraz Vahedi.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22136f6b6cSFaraz Vahedi.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23136f6b6cSFaraz Vahedi.\" SUCH DAMAGE. 24136f6b6cSFaraz Vahedi.\" 25136f6b6cSFaraz Vahedi.\" $FreeBSD$ 26136f6b6cSFaraz Vahedi.\" 27*ef0ba6bcSMateusz Piotrowski.Dd April 20, 2021 28136f6b6cSFaraz Vahedi.Dt C 7 29136f6b6cSFaraz Vahedi.Os 30136f6b6cSFaraz Vahedi.Sh NAME 31136f6b6cSFaraz Vahedi.Nm c , 32136f6b6cSFaraz Vahedi.Nm c78 , 33136f6b6cSFaraz Vahedi.Nm c89 , 34136f6b6cSFaraz Vahedi.Nm c90 , 35136f6b6cSFaraz Vahedi.Nm c95 , 36136f6b6cSFaraz Vahedi.Nm c99 , 37136f6b6cSFaraz Vahedi.Nm c11 , 38136f6b6cSFaraz Vahedi.Nm c17 , 39136f6b6cSFaraz Vahedi.Nm c2x 40136f6b6cSFaraz Vahedi.Nd The C programming language 41136f6b6cSFaraz Vahedi.Sh DESCRIPTION 42136f6b6cSFaraz VahediC is a general purpose programming language, which has a strong connection 43136f6b6cSFaraz Vahediwith the UNIX operating system and its derivatives, since the vast 44136f6b6cSFaraz Vahedimajority of those systems were written in the C language. 45136f6b6cSFaraz VahediThe C language contains some basic ideas from the BCPL language through 46136f6b6cSFaraz Vahedithe B language written by Ken Thompson in 1970 for the DEC PDP-7 machines. 47136f6b6cSFaraz VahediThe development of the UNIX operating system was started on a PDP-7 48136f6b6cSFaraz Vahedimachine in assembly language, but it made very difficult to port the existing 49136f6b6cSFaraz Vahedicode to other systems. 50136f6b6cSFaraz Vahedi.Pp 51136f6b6cSFaraz VahediIn 1972 Dennis M. Ritchie worked out the C programming language for 52136f6b6cSFaraz Vahedifurther development of the UNIX operating system. 53136f6b6cSFaraz VahediThe idea was to implement only the C compiler for different 54136f6b6cSFaraz Vahediplatforms, and implement most part of the operating system 55136f6b6cSFaraz Vahediin the new programming language to simplify the portability between 56136f6b6cSFaraz Vahedidifferent architectures. 57136f6b6cSFaraz VahediIt follows that C is very eligible for (but not limited to) writing 58136f6b6cSFaraz Vahedioperating systems and low-level applications. 59136f6b6cSFaraz Vahedi.Pp 60136f6b6cSFaraz VahediThe C language did not have a specification or standardized version for 61136f6b6cSFaraz Vahedia long time. 62136f6b6cSFaraz VahediIt went through a lot of changes and improvements for ages. 63136f6b6cSFaraz VahediIn 1978, Brian W. Kernighan and Dennis M. Ritchie published the 64136f6b6cSFaraz Vahedifirst book about C under the title "The C Programming Language". 65136f6b6cSFaraz VahediWe can think of this book as the first specification of the language. 66136f6b6cSFaraz VahediThis version is often referred as K&R C after the names of the authors. 67136f6b6cSFaraz VahediSometimes it is referred as C78, as well, after the publishing year of 68136f6b6cSFaraz Vahedithe first edition of the book. 69136f6b6cSFaraz Vahedi.Pp 70136f6b6cSFaraz VahediIt is important to notice, that the instruction set of the language is 71136f6b6cSFaraz Vahedilimited to the most fundamental elements for simplicity. 72136f6b6cSFaraz VahediHandling of the standard I/O and such common functions are implemented in 73136f6b6cSFaraz Vahedithe libraries shipped with the compiler. 74136f6b6cSFaraz VahediAs these functions are also widely used, it was demanded to include into 75136f6b6cSFaraz Vahedithe description what requisites the library should conform to, not just 76136f6b6cSFaraz Vahedistrictly the language itself. 77136f6b6cSFaraz VahediAccordingly, the aforementioned standards cover the library elements, as well. 78136f6b6cSFaraz VahediThe elements of this standard library is still not enough for more 79136f6b6cSFaraz Vahedicomplicated tasks. 80136f6b6cSFaraz VahediIn this case the provided system calls of the given operating system can be 81136f6b6cSFaraz Vahediused. 82136f6b6cSFaraz VahediTo not lose the portability by using these system calls, the POSIX 83136f6b6cSFaraz Vahedi(Portable Operating System Interface) standard evolved. 84136f6b6cSFaraz VahediIt describes what functions should be available to keep portability. 85136f6b6cSFaraz VahediNote, that POSIX is not a C standard, but an operating system standard 86136f6b6cSFaraz Vahediand thus is beyond the scope of this manual. 87136f6b6cSFaraz VahediThe standards discussed below are all C standards and only cover 88136f6b6cSFaraz Vahedithe C programming language and the accompanying library. 89136f6b6cSFaraz VahediAll listed improvements for each standard edition are taken from the official 90136f6b6cSFaraz Vahedistandard drafts. 91136f6b6cSFaraz VahediFor further details, check the publicly available drafts or 92136f6b6cSFaraz Vahedipurchase the published standards \(em from either ISO or IEC resources. 93136f6b6cSFaraz Vahedi.Pp 94136f6b6cSFaraz VahediAfter the publication of the book mentioned before, 95136f6b6cSFaraz Vahedithe American National Standards Institute (ANSI) started to work on 96136f6b6cSFaraz Vahedistandardizing the language, and they announced ANSI X3.159-1989 97136f6b6cSFaraz Vahediin 1989. 98136f6b6cSFaraz VahediIt is usually referred to as ANSI C or C89. 99136f6b6cSFaraz VahediThe main difference in this standard were the function prototypes, 100136f6b6cSFaraz Vahediwhich is a new way of declaring functions. 101136f6b6cSFaraz VahediWith the old-style function declarations, the compiler was unable to 102136f6b6cSFaraz Vahedicheck the sanity of the actual parameters at a function call. 103136f6b6cSFaraz VahediThe old syntax was highly error-prone because incompatible parameters 104136f6b6cSFaraz Vahediwere hard to detect in the program code and the problem only showed up 105136f6b6cSFaraz Vahediat run-time. 106136f6b6cSFaraz Vahedi.Pp 107136f6b6cSFaraz VahediIn 1990, the International Organization for Standardization (ISO) adopted 108136f6b6cSFaraz Vahedithe ANSI standard as ISO/IEC 9899:1990 in 1990. 109136f6b6cSFaraz VahediThis is also referred to as ISO C or C90. 110136f6b6cSFaraz VahediIt only contains negligible minor modifications against ANSI C, 111136f6b6cSFaraz Vahediso the two standards often considered to be fully equivalent. 112136f6b6cSFaraz VahediThis was a very important milestone in the history of the C language, but the 113136f6b6cSFaraz Vahedidevelopment of the language did not stop. 114136f6b6cSFaraz Vahedi.Pp 115136f6b6cSFaraz VahediThe ISO C standard was later extended with an amendment as 116136f6b6cSFaraz VahediISO/IEC 9899/AMD1 in 1995. 117136f6b6cSFaraz VahediThis contained, for example, the wide-character support in <wchar.h> and 118136f6b6cSFaraz Vahedi<wctype.h>, and also restricted character set support via diagraphs and 119136f6b6cSFaraz Vahedi<iso646.h>. 120136f6b6cSFaraz VahediThis amendment is usually referred to as C95. 121136f6b6cSFaraz VahediTwo technical corrigenda were also published: Technical Corrigendum 1 as 122136f6b6cSFaraz VahediISO/IEC 9899/COR1 in 1994 and Technical Corrigendum 2 as ISO/IEC 9899/COR2 123136f6b6cSFaraz Vahediin 1996. 124136f6b6cSFaraz VahediThe continuous development and growth made it necessary to work out a new 125136f6b6cSFaraz Vahedistandard, which contains the new features and fixes the known defects and 126136f6b6cSFaraz Vahedideficiencies of the language. 127136f6b6cSFaraz VahediAs a result, ISO/IEC 9899:1999 was born in 1999 as the second edition of the 128136f6b6cSFaraz Vahedistandard. 129136f6b6cSFaraz VahediSimilarly to the other standards, this is informally named after the 130136f6b6cSFaraz Vahedipublication year as C99. 131136f6b6cSFaraz VahediThe improvements include (but are not limited to) the following: 132136f6b6cSFaraz Vahedi.Bl -bullet -offset indent 133136f6b6cSFaraz Vahedi.It 134136f6b6cSFaraz Vahedidigraphs, trigraphs, and alternative spellings for the operators that 135136f6b6cSFaraz Vahediuse non-ISO646 characters in <iso646.h> 136136f6b6cSFaraz Vahedi.It 137136f6b6cSFaraz Vahediextended multibyte and wide character library support in <wchar.h> and 138136f6b6cSFaraz Vahedi<wctype.h> 139136f6b6cSFaraz Vahedi.It 140136f6b6cSFaraz Vahedivariable length arrays 141136f6b6cSFaraz Vahedi.It 142136f6b6cSFaraz Vahediflexible array members 143136f6b6cSFaraz Vahedi.It 144136f6b6cSFaraz Vahedicomplex (and imaginary) number arithmetic support in <complex.h> 145136f6b6cSFaraz Vahedi.It 146136f6b6cSFaraz Vaheditype-generic math macros in <tgmath.h> 147136f6b6cSFaraz Vahedi.It 148136f6b6cSFaraz Vahedithe long long int type and library functions 149136f6b6cSFaraz Vahedi.It 150136f6b6cSFaraz Vahediremove implicit int type 151136f6b6cSFaraz Vahedi.It 152136f6b6cSFaraz Vahediuniversal character names (\eu and \eU) 153136f6b6cSFaraz Vahedi.It 154136f6b6cSFaraz Vahedicompound literals 155136f6b6cSFaraz Vahedi.It 156136f6b6cSFaraz Vahediremove implicit function declaration 157136f6b6cSFaraz Vahedi.It 158136f6b6cSFaraz VahediBCPL style single-line comments 159136f6b6cSFaraz Vahedi.It 160136f6b6cSFaraz Vahediallow mixed declarations and code 161136f6b6cSFaraz Vahedi.It 162136f6b6cSFaraz Vahedithe vscanf family of functions in <stdio.h> and <wchar.h> 163136f6b6cSFaraz Vahedi.It 164136f6b6cSFaraz Vahediallow trailing comma in enum declaration 165136f6b6cSFaraz Vahedi.It 166136f6b6cSFaraz Vahediinline functions 167136f6b6cSFaraz Vahedi.It 168136f6b6cSFaraz Vahedithe snprintf family of functions in <stdio.h> 169136f6b6cSFaraz Vahedi.It 170136f6b6cSFaraz Vahediboolean type and macros in <stdbool.h> 171136f6b6cSFaraz Vahedi.It 172136f6b6cSFaraz Vahediempty macro arguments 173136f6b6cSFaraz Vahedi.It 174136f6b6cSFaraz Vahedi_Pragma preprocessing operator 175136f6b6cSFaraz Vahedi.It 176136f6b6cSFaraz Vahedi__func__ predefined identifier 177136f6b6cSFaraz Vahedi.It 178136f6b6cSFaraz Vahediva_copy macro in <stdarg.h> 179136f6b6cSFaraz Vahedi.It 180136f6b6cSFaraz Vahediadditional strftime conversion specifiers 181136f6b6cSFaraz Vahedi.El 182136f6b6cSFaraz Vahedi.Pp 183136f6b6cSFaraz VahediLater in 2011, the third edition of the standard, ISO/IEC 1989:2011, 184*ef0ba6bcSMateusz Piotrowskicommonly referred to as C11 (formerly C1x), came out and replaced the 185136f6b6cSFaraz Vahedisecond edition by ISO/IEC 9899:1999/COR1:2001, ISO/IEC 9899:1999/COR2:2004, 186136f6b6cSFaraz Vahediand ISO/IEC 9899:1999/COR3:2007. 187136f6b6cSFaraz VahediThe improvements include (but are not limited to) the following: 188136f6b6cSFaraz Vahedi.Bl -bullet -offset indent 189136f6b6cSFaraz Vahedi.It 190136f6b6cSFaraz Vahedisupport for multiple threads of execution and atomic operations in <threads.h> 191136f6b6cSFaraz Vahediand <stdatomic.h> 192136f6b6cSFaraz Vahedi.It 193136f6b6cSFaraz Vahediadditional floating-point characteristic macros in <float.h> 194136f6b6cSFaraz Vahedi.It 195136f6b6cSFaraz Vahediquerying and specifying alignment of objects in <stdalign.h> and <stdlib.h> 196136f6b6cSFaraz Vahedi.It 197136f6b6cSFaraz VahediUnicode character types and functions in <uchar.h> 198136f6b6cSFaraz Vahedi.It 199136f6b6cSFaraz Vaheditype-generic expressions 200136f6b6cSFaraz Vahedi.It 201136f6b6cSFaraz Vahedistatic assertions in <assert.h> 202136f6b6cSFaraz Vahedi.It 203136f6b6cSFaraz Vahedianonymous structures and unions 204136f6b6cSFaraz Vahedi.It 205136f6b6cSFaraz Vahediremove the gets function from <stdio.h> 206136f6b6cSFaraz Vahedi.It 207136f6b6cSFaraz Vahediadd the aligned_alloc, at_quick_exit, and quick_exit functions in <stdlib.h> 208136f6b6cSFaraz Vahedi.El 209136f6b6cSFaraz Vahedi.Pp 210136f6b6cSFaraz VahediC11 was later superseded by ISO/IEC 9899:2018, also known as C17 which was 211136f6b6cSFaraz Vahediprepared in 2017 and published in June 2018 as the fourth edition. 212136f6b6cSFaraz VahediIt incorporates the Technical Corrigendum 1 (ISO/IEC 9899:2011/COR1:2012) 213136f6b6cSFaraz Vahediwhich was published in 2012. 214136f6b6cSFaraz VahediIt addressed defects and deficiencies in C11 without introducing new features, 215136f6b6cSFaraz Vahedionly corrections and clarifications. 216*ef0ba6bcSMateusz PiotrowskiSince there were no major changes in C17, the current standard for 217136f6b6cSFaraz VahediProgramming Language C, is still considered C11 \(em ISO/IEC 9899:2011, published 218136f6b6cSFaraz Vahedi2011-12-08. 219136f6b6cSFaraz Vahedi.Pp 220136f6b6cSFaraz VahediThe next standard, the fifth, is currently referred to as C2x and is scheduled 221136f6b6cSFaraz Vahedito be adopted by the end of 2021, with a publication date of 2022. 222136f6b6cSFaraz VahediWhen published, it will cancel and replace the fourth edition, ISO/IEC 223136f6b6cSFaraz Vahedi9899:2018. 224136f6b6cSFaraz Vahedi.Pp 225136f6b6cSFaraz VahediSome useful features have been provided as extensions by some compilers, but 226136f6b6cSFaraz Vahedithey cannot be considered as standard features. 227136f6b6cSFaraz Vahedi.Pp 228136f6b6cSFaraz VahediISO/IEC JTC1/SC22/WG14 committee is responsible for the ISO/IEC 9899, 229136f6b6cSFaraz VahediC Standard. 230136f6b6cSFaraz Vahedi.Sh SEE ALSO 231136f6b6cSFaraz Vahedi.Xr c89 1 , 232136f6b6cSFaraz Vahedi.Xr c99 1 , 233136f6b6cSFaraz Vahedi.Xr cc 1 234136f6b6cSFaraz Vahedi.Sh STANDARDS 235136f6b6cSFaraz Vahedi.Rs 236136f6b6cSFaraz Vahedi.%A ANSI 237136f6b6cSFaraz Vahedi.%T X3.159-1989 (aka C89 or ANSI C) 238136f6b6cSFaraz Vahedi.Re 239136f6b6cSFaraz Vahedi.Pp 240136f6b6cSFaraz Vahedi.Rs 241136f6b6cSFaraz Vahedi.%A ISO/IEC 242136f6b6cSFaraz Vahedi.%T 9899:1990 (aka C90) 243136f6b6cSFaraz Vahedi.Re 244136f6b6cSFaraz Vahedi.Pp 245136f6b6cSFaraz Vahedi.Rs 246136f6b6cSFaraz Vahedi.%A ISO/IEC 247136f6b6cSFaraz Vahedi.%T 9899:1990/AMD 1:1995, Amendment 1: C Integrity (aka C95) 248136f6b6cSFaraz Vahedi.Re 249136f6b6cSFaraz Vahedi.Pp 250136f6b6cSFaraz Vahedi.Rs 251136f6b6cSFaraz Vahedi.%A ISO/IEC 252136f6b6cSFaraz Vahedi.%T 9899:1990/COR 1:1994, Technical Corrigendum 1 253136f6b6cSFaraz Vahedi.Re 254136f6b6cSFaraz Vahedi.Pp 255136f6b6cSFaraz Vahedi.Rs 256136f6b6cSFaraz Vahedi.%A ISO/IEC 257136f6b6cSFaraz Vahedi.%T 9899:1990/COR 2:1996, Technical Corrigendum 2 258136f6b6cSFaraz Vahedi.Re 259136f6b6cSFaraz Vahedi.Pp 260136f6b6cSFaraz Vahedi.Rs 261136f6b6cSFaraz Vahedi.%A ISO/IEC 262136f6b6cSFaraz Vahedi.%T 9899:1999 (aka C99) 263136f6b6cSFaraz Vahedi.Re 264136f6b6cSFaraz Vahedi.Pp 265136f6b6cSFaraz Vahedi.Rs 266136f6b6cSFaraz Vahedi.%A ISO/IEC 267136f6b6cSFaraz Vahedi.%T 9899:1999/COR 1:2001, Technical Corrigendum 1 268136f6b6cSFaraz Vahedi.Re 269136f6b6cSFaraz Vahedi.Pp 270136f6b6cSFaraz Vahedi.Rs 271136f6b6cSFaraz Vahedi.%A ISO/IEC 272136f6b6cSFaraz Vahedi.%T 9899:1999/COR 2:2004, Technical Corrigendum 2 273136f6b6cSFaraz Vahedi.Re 274136f6b6cSFaraz Vahedi.Pp 275136f6b6cSFaraz Vahedi.Rs 276136f6b6cSFaraz Vahedi.%A ISO/IEC 277136f6b6cSFaraz Vahedi.%T 9899:1999/COR 3:2007, Technical Corrigendum 3 278136f6b6cSFaraz Vahedi.Re 279136f6b6cSFaraz Vahedi.Pp 280136f6b6cSFaraz Vahedi.Rs 281136f6b6cSFaraz Vahedi.%A ISO/IEC 282136f6b6cSFaraz Vahedi.%T TR 24731-1:2007 (aka bounds-checking interfaces) 283136f6b6cSFaraz Vahedi.Re 284136f6b6cSFaraz Vahedi.Pp 285136f6b6cSFaraz Vahedi.Rs 286136f6b6cSFaraz Vahedi.%A ISO/IEC 287136f6b6cSFaraz Vahedi.%T TS 18037:2008 (aka, embedded C) 288136f6b6cSFaraz Vahedi.Re 289136f6b6cSFaraz Vahedi.Pp 290136f6b6cSFaraz Vahedi.Rs 291136f6b6cSFaraz Vahedi.%A ISO/IEC 292136f6b6cSFaraz Vahedi.%T TR 24747:2009 (aka mathematical special functions) 293136f6b6cSFaraz Vahedi.Re 294136f6b6cSFaraz Vahedi.Pp 295136f6b6cSFaraz Vahedi.Rs 296136f6b6cSFaraz Vahedi.%A ISO/IEC 297136f6b6cSFaraz Vahedi.%T TR 24732:2009 (aka decimal floating-point) 298136f6b6cSFaraz Vahedi.Re 299136f6b6cSFaraz Vahedi.Pp 300136f6b6cSFaraz Vahedi.Rs 301136f6b6cSFaraz Vahedi.%A ISO/IEC 302136f6b6cSFaraz Vahedi.%T TR 24731-2:2010 (aka dynamic allocation functions) 303136f6b6cSFaraz Vahedi.Re 304136f6b6cSFaraz Vahedi.Pp 305136f6b6cSFaraz Vahedi.Rs 306136f6b6cSFaraz Vahedi.%A ISO/IEC 307136f6b6cSFaraz Vahedi.%T 9899:2011 (aka C11) 308136f6b6cSFaraz Vahedi.Re 309136f6b6cSFaraz Vahedi.Pp 310136f6b6cSFaraz Vahedi.Rs 311136f6b6cSFaraz Vahedi.%A ISO/IEC 312136f6b6cSFaraz Vahedi.%T 9899:2011/COR 1:2012, Technical Corrigendum 1 313136f6b6cSFaraz Vahedi.Re 314136f6b6cSFaraz Vahedi.Pp 315136f6b6cSFaraz Vahedi.Rs 316136f6b6cSFaraz Vahedi.%A ISO/IEC 317136f6b6cSFaraz Vahedi.%T TS 17961:2013 (aka C secure coding rules) 318136f6b6cSFaraz Vahedi.Re 319136f6b6cSFaraz Vahedi.Pp 320136f6b6cSFaraz Vahedi.Rs 321136f6b6cSFaraz Vahedi.%A ISO/IEC 322136f6b6cSFaraz Vahedi.%T TS 18861-1:2014 (aka binary floating-point) 323136f6b6cSFaraz Vahedi.Re 324136f6b6cSFaraz Vahedi.Pp 325136f6b6cSFaraz Vahedi.Rs 326136f6b6cSFaraz Vahedi.%A ISO/IEC 327136f6b6cSFaraz Vahedi.%T TS 18861-2:2015 (aka decimal floating-point) 328136f6b6cSFaraz Vahedi.Re 329136f6b6cSFaraz Vahedi.Pp 330136f6b6cSFaraz Vahedi.Rs 331136f6b6cSFaraz Vahedi.%A ISO/IEC 332136f6b6cSFaraz Vahedi.%T TS 18861-3:2015 (aka interchange and extended types) 333136f6b6cSFaraz Vahedi.Re 334136f6b6cSFaraz Vahedi.Pp 335136f6b6cSFaraz Vahedi.Rs 336136f6b6cSFaraz Vahedi.%A ISO/IEC 337136f6b6cSFaraz Vahedi.%T TS 18861-4:2015 (aka supplementary functions) 338136f6b6cSFaraz Vahedi.Re 339136f6b6cSFaraz Vahedi.Pp 340136f6b6cSFaraz Vahedi.Rs 341136f6b6cSFaraz Vahedi.%A ISO/IEC 342136f6b6cSFaraz Vahedi.%T TS 17961:2013/COR 1:2016 (aka C secure coding rules TC1) 343136f6b6cSFaraz Vahedi.Re 344136f6b6cSFaraz Vahedi.Pp 345136f6b6cSFaraz Vahedi.Rs 346136f6b6cSFaraz Vahedi.%A ISO/IEC 347136f6b6cSFaraz Vahedi.%T TS 18861-5:2016 (aka supplementary attributes) 348136f6b6cSFaraz Vahedi.Re 349136f6b6cSFaraz Vahedi.Pp 350136f6b6cSFaraz Vahedi.Rs 351136f6b6cSFaraz Vahedi.%A ISO/IEC 352136f6b6cSFaraz Vahedi.%T 9899:2018 (aka C17) 353136f6b6cSFaraz Vahedi.Re 354136f6b6cSFaraz Vahedi.Sh HISTORY 355136f6b6cSFaraz VahediThis manual page first appeared in 356136f6b6cSFaraz Vahedi.Fx 9.0 . 357136f6b6cSFaraz Vahedi.Sh AUTHORS 358136f6b6cSFaraz Vahedi.An -nosplit 359136f6b6cSFaraz VahediThis manual page was originally written by 360136f6b6cSFaraz Vahedi.An Gabor Kovesdan Aq Mt gabor@FreeBSD.org . 361136f6b6cSFaraz VahediIt was updated for 362136f6b6cSFaraz Vahedi.Fx 14.0 363136f6b6cSFaraz Vahediby 364136f6b6cSFaraz Vahedi.An Faraz Vahedi Aq Mt kfv@kfv.io 365136f6b6cSFaraz Vahediwith information about more recent C standards. 366