Undefined behaviour in C23

Martin Ward <mwardgkc@gmail.com>
Wed, 20 Aug 2025 14:06:45 +0100

          From comp.compilers

Related articles
Undefined behaviour in C23 mwardgkc@gmail.com (Martin Ward) (2025-08-20)
Re: Undefined behaviour in C23 643-408-1753@kylheku.com (Kaz Kylheku) (2025-08-20)
Re: Undefined behaviour in C23 anton@mips.complang.tuwien.ac.at (2025-08-21)
Re: Undefined behaviour in C23 david.brown@hesbynett.no (David Brown) (2025-08-21)
Re: Undefined behaviour in C23 mwardgkc@gmail.com (Martin Ward) (2025-08-21)
Re: Undefined behaviour in C23 Keith.S.Thompson+u@gmail.com (Keith Thompson) (2025-08-21)
Re: Undefined behaviour in C23 david.brown@hesbynett.no (David Brown) (2025-08-22)
[11 later articles]
| List of all articles for this month |
From: Martin Ward <mwardgkc@gmail.com>
Newsgroups: comp.compilers
Date: Wed, 20 Aug 2025 14:06:45 +0100
Organization: Compilers Central
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="40152"; mail-complaints-to="abuse@iecc.com"
Keywords: C, standards, comment
Posted-Date: 20 Aug 2025 14:15:45 EDT

In the SEI CERT C Soding Standards we read:


"According to the C Standard, Annex J, J.2 [ISO/IEC 9899:2024],
the behavior of a program is undefined in the circumstances outlined
in the following table."


The table has 221 numbered cases and can be found here:


<https://wiki.sei.cmu.edu/confluence/display/c/CC.%2BUndefined%2BBehavior>


According to the C Standard Committee (paraphrasing) "You may eat
from any tree in the garden of coding, except for any of the 221
trees of undefined behaviour. If you eat from any of the 221 trees
of undefined behaviour your program may die, either immediately or at
some unspecified time in the future, or may do absolutely anything at
any future time. You must study the Book of the Knowledge of Defined
and Undefined (the 758 page C23 standard document) to learn exactly
how to recognise each of the 221 trees of undefined behaviour.
Please pay the cashier $250.00 to purchase a copy of the Book
of the Knowledge of Defined and Undefined".




\--
Martin


Dr Martin Ward | Email: [martin@gkc.org.uk](mailto:martin@gkc.org.uk) | <http://www.gkc.org.uk>
G.K.Chesterton site: <http://www.gkc.org.uk/gkc> | Erdos number: 4
[When a language is 50 years old and there is a mountain of legacy code that
they really don't want to break, it accumulates a lot of cruft. If we were
starting now we'd get something more like Go.


On the other hand, there's the python approach in which they deprecate and
remove little used and crufty features, but old python code doesn't work any
more unless you go back and update it every year or two. -John]


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.