Files
2025-10-25 03:02:53 +03:00

66 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[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.2Header <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.5Startup 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.3Header <csetjmp> synopsis[csetjmp.syn]"):
The following functions have different behavior:
- [(2.1)](#general-2.1)
longjmp
Subclause [[csetjmp.syn]](csetjmp.syn "17.14.3Header <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.1Header <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.4Sizes, 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.12C library memory allocation") describes the changes[.](#diff.malloc-1.sentence-2)