66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
[diff.mods.to.behavior]
|
||
|
||
# Annex C (informative) Compatibility [[diff]](./#diff)
|
||
|
||
## C.8 C standard library [[diff.library]](diff.library#diff.mods.to.behavior)
|
||
|
||
### C.8.5 Modifications to behavior [diff.mods.to.behavior]
|
||
|
||
#### [C.8.5.1](#general) General [[diff.mods.to.behavior.general]](diff.mods.to.behavior.general)
|
||
|
||
[1](#general-1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L3806)
|
||
|
||
Header [<cstdlib>](cstdlib.syn#header:%3ccstdlib%3e "17.2.2 Header <cstdlib> synopsis [cstdlib.syn]"):
|
||
The following functions have different behavior:
|
||
|
||
- [(1.1)](#general-1.1)
|
||
|
||
atexit
|
||
|
||
- [(1.2)](#general-1.2)
|
||
|
||
exit
|
||
|
||
- [(1.3)](#general-1.3)
|
||
|
||
abort
|
||
|
||
Subclause [[support.start.term]](support.start.term "17.5 Startup and termination") describes the changes[.](#general-1.sentence-2)
|
||
|
||
[2](#general-2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L3817)
|
||
|
||
Header [<csetjmp>](csetjmp.syn#header:%3ccsetjmp%3e "17.14.3 Header <csetjmp> synopsis [csetjmp.syn]"):
|
||
The following functions have different behavior:
|
||
|
||
- [(2.1)](#general-2.1)
|
||
|
||
longjmp
|
||
|
||
Subclause [[csetjmp.syn]](csetjmp.syn "17.14.3 Header <csetjmp> synopsis") describes the changes[.](#general-2.sentence-2)
|
||
|
||
#### [C.8.5.2](#diff.offsetof) Macro offsetof(*type*, *member-designator*) [[diff.offsetof]](diff.offsetof)
|
||
|
||
[1](#diff.offsetof-1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L3829)
|
||
|
||
The macro offsetof, defined in[<cstddef>](cstddef.syn#header:%3ccstddef%3e "17.2.1 Header <cstddef> synopsis [cstddef.syn]"),
|
||
accepts a restricted set of *type* arguments in C++[.](#diff.offsetof-1.sentence-1)
|
||
|
||
Subclause [[support.types.layout]](support.types.layout "17.2.4 Sizes, alignments, and offsets") describes the change[.](#diff.offsetof-1.sentence-2)
|
||
|
||
#### [C.8.5.3](#diff.malloc) Memory allocation functions [[diff.malloc]](diff.malloc)
|
||
|
||
[1](#diff.malloc-1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L3837)
|
||
|
||
The functionsaligned_alloc,calloc,malloc,
|
||
andrealloc are restricted in C++[.](#diff.malloc-1.sentence-1)
|
||
|
||
Subclause [[c.malloc]](c.malloc "20.2.12 C library memory allocation") describes the changes[.](#diff.malloc-1.sentence-2)
|