From Jason Turner

[headers]

Diff to HTML by rtfpessoa

tmp/tmp3zrd2t7c/{from.md → to.md} RENAMED
@@ -24,18 +24,18 @@ import <vector>; // imports the <vector> header unit
24
  std::vector<int> vi; // OK
25
  ```
26
 
27
  — *end example*]
28
 
29
- Except as noted in [[library]] through [[thread]] and [[depr]], the
30
  contents of each header `cname` is the same as that of the corresponding
31
  header `name.h` as specified in the C standard library [[intro.refs]].
32
  In the C++ standard library, however, the declarations (except for names
33
  which are defined as macros in C) are within namespace scope
34
  [[basic.scope.namespace]] of the namespace `std`. It is unspecified
35
  whether these names (including any overloads added in [[support]]
36
- through [[thread]] and [[depr]]) are first declared within the global
37
  namespace scope and are then injected into namespace `std` by explicit
38
  *using-declaration*s [[namespace.udecl]].
39
 
40
  Names which are defined as macros in C shall be defined as macros in the
41
  C++ standard library, even if C grants license for implementation as
@@ -49,15 +49,15 @@ Names that are defined as functions in C shall be defined as functions
49
  in the C++ standard library.[^16]
50
 
51
  Identifiers that are keywords or operators in C++ shall not be defined
52
  as macros in C++ standard library headers.[^17]
53
 
54
- [[support.c.headers]], C standard library headers, describes the effects
55
- of using the `name.h` (C header) form in a C++ program.[^18]
56
 
57
- Annex K of the C standard describes a large number of functions, with
58
- associated types and macros, which “promote safer, more secure
59
  programming” than many of the traditional C library functions. The names
60
  of the functions have a suffix of `_s`; most of them provide the same
61
  service as the C library function with the unsuffixed name, but
62
  generally take an additional argument whose value is the size of the
63
  result array. If any C++ header is included, it is
 
24
  std::vector<int> vi; // OK
25
  ```
26
 
27
  — *end example*]
28
 
29
+ Except as noted in [[library]] through [[exec]] and [[depr]], the
30
  contents of each header `cname` is the same as that of the corresponding
31
  header `name.h` as specified in the C standard library [[intro.refs]].
32
  In the C++ standard library, however, the declarations (except for names
33
  which are defined as macros in C) are within namespace scope
34
  [[basic.scope.namespace]] of the namespace `std`. It is unspecified
35
  whether these names (including any overloads added in [[support]]
36
+ through [[exec]] and [[depr]]) are first declared within the global
37
  namespace scope and are then injected into namespace `std` by explicit
38
  *using-declaration*s [[namespace.udecl]].
39
 
40
  Names which are defined as macros in C shall be defined as macros in the
41
  C++ standard library, even if C grants license for implementation as
 
49
  in the C++ standard library.[^16]
50
 
51
  Identifiers that are keywords or operators in C++ shall not be defined
52
  as macros in C++ standard library headers.[^17]
53
 
54
+ Subclause [[support.c.headers]] describes the effects of using the
55
+ `name.h` (C header) form in a C++ program.[^18]
56
 
57
+ ISO/IEC 9899:2018 (C), Annex K describes a large number of functions,
58
+ with associated types and macros, which “promote safer, more secure
59
  programming” than many of the traditional C library functions. The names
60
  of the functions have a suffix of `_s`; most of them provide the same
61
  service as the C library function with the unsuffixed name, but
62
  generally take an additional argument whose value is the size of the
63
  result array. If any C++ header is included, it is