- [HTML] Constant Integer Type Declarations Initialized With Constant Expressions Should Be Constants. 16 June 2024 by JeanHeyd Meneide.
- [HTML] Option Soup: the subtle pitfalls of combining compiler flags. 29 January 2024 by Mozilla's Serge Guelton & Yannis Juglaret.
- [HTML] Better handling of integer wraparound in the kernel. 26 January 2024 by LWN's Jonathan Corbet.
- [HTML] C23: a slightly better C. 21 January 2024 by Daniel Lemire.
- [HTML] Modern C for Fedora (and the world). 08 December 2023 by LWN's Jonathan Corbet.
- [HTML]
setenv
is not Thread Safe and C Doesn't Want to Fix It. 19 November 2023 by Evan Jones.
- [HTML] The Sinking of the Itanic. 17 November 2023 by A. Wilcox.
- [HTML] Better string handling for the kernel. 26 October 2023 by LWN's Jonathan Corbet.
- [HTML] Running the "Reflections on Trusting Trust" Compiler. 25 October 2023 by Google's Russ Cox.
- [HTML] Recent improvements in GCC diagnostics. 13 October 2023 by LWN's Jonathan Corbet.
- [HTML] How were the signs for logical and arithmetic operators decided? 26 September 2023 on the retrocomputing Stack Exchange.
- [PDF] ELF binaries and all the things that happen before
main()
. 15 September 2023 by Janne Johansson at EuroBSDCon 2023.
- [HTML] Scope-based resource management for the kernel. 15 June 2023 by LWN's Jonathan Corbet.
- [HTML] The Linux kernel will fix some peculiar
argv
usage in execve(2)
. 05 June 2023 by the University of Toronto's Chris Siebenmann.
- [HTML] Improvements to static analysis in the GCC 13 compiler. 31 May 2023 by Red Hat's David Malcolm.
- [HTML] RFC: Enforcing Bounds Safety in C (
-fbounds-safety
). 24 May 2023 by Apple's Yeoul Na.
- [HTML] Experimental feature gate for
extern "crabi"
ABI. 09 May 2023 by Josh Triplett.
- [MAIL] More C type errors by default for GCC 14. 09 May 2023 by Red Hat's Florian Weimer.
- [HTML] New C features in GCC 13. 04 May 2023 by Red Hat's Marek Polacek.
- [HTML] Flattening ASTs (and Other Compiler Data Structures). 01 May 2023 by Cornell's Professor Adrian Sampson.
- [HTML] A kernel without buffer heads. 01 May 2023 by LWN's Jonathan Corbet.
- [HTML] My favorite C compiler flags during development. 29 April 2023 by Chris Wellons.
- [HTML] The Full-Source Bootstrap: Building from source all the way down. 26 April 2023 by Janneke Nieuwenhuizen and Ludovic Courtès.
- [MAIL] RFC: More C errors by default in GCC 14 (no more implicit function decls). 18 April 2023 by Red Hat's Florian Weimer.
- [HTML] Memory Allocation. 13 April 2023 by Sam Rose.
- [HTML] Writing portable ARM64 assembly. 13 April 2023 by Ariadne Conill.
- [HTML] The early days of Linux. 12 April 2023 by Lars Wirzenius.
- [HTML] The shrinking role of semaphores. 07 April 2023 by LWN's Jonathan Corbet.
- [HTML] How SerenityOS declares
ssize_t
. 04 April 2023 by Andreas Kling.
- [HTML] A leaner
<iostream>
in libstdc++
for GCC 13. 03 April 2023 by Red Hat's Patrick Palka.
- [HTML] C++17 creates a practical use of the backward array index operator. 03 April 2023 by Microsoft's Raymond Chen.
- [HTML] Some possible reasons for 8-bit bytes. 06 March 2023 by Julia Evans.
- [HTML] Safety and Soundness in Rust. 05 March 2023 by Jack O'Connor.
- [HTML]
goto
phobia considered harmful (in C). 26 February 2023 by Jakub Łukasiewicz.
- [HTML]
size_t
Is Not int
. 12 February 2023 by Chris Palmer.
- [HTML] Undefined behavior, and the Sledgehammer Principle. 02 February 2023 by JeanHeyd Meneide.
- [HTML] C was not created as an abstract machine (of course). 01 February 2023 by the University of Toronto's Chris Siebenmann.
- [HTML] All about UndefinedBehaviorSanitizer. 29 January 2023 by Fangrui Song.
- [HTML] Distinguishing an Interpreter from a Compiler. 26 January 2023 by by King's College - London's Laurence Tratt.
- [HTML] Bounded Flexible Arrays in C. 23 January 2023 by Kees Cook.
- [HTML] Nolibc: a minimal C-library replacement shipped with the kernel. 20 January 2023 by Willy Tarreau.
- [HTML] Setting the clock ahead to see what breaks. 19 January 2023 by Rachel Kroll.
- [HTML] A brave new world: building glibc with LLVM. 17 January 2023 by Collabora's Adrian Ratiu.
- [HTML] Some notes on working with old C code. 02 January 2023 by Sean Conner.
- [HTML] What’s the deal with Cisco devices in
file
output, anyway? 27 December 2022 by A. Wilcox.
- [HTML] Checked integer arithmetic in the prospect of C23. 18 December 2022 by INRIA's Jens Gustedt.
- [HTML] Goodbye to the C++ Implementation of Zig. 07 December 2022 by Andrew Kelley.
- [HTML] Falsehoods programmers believe about undefined behavior. 27 November 2022 by Predrag Gruevski.
- [HTML] Figuring out
round
, floor
and ceil
with integer division. 25 November 2022 by Clément Bœsch.
- [HTML] Everything I wish I knew when learning C. 18 November 2022 by Tom Mewett.
- [HTML] Considering C99 for curl. 17 November 2022 by Daniel Stenberg.
- [HTML] How to categorize C programs by behavior. 15 November 2022 by Red Hat's Martin Sebor.
- [HTML] P2723R0: Zero-initialize objects of automatic storage duration. 15 November 2022 by JF Bastien.
- [HTML] Modernizing Fedora's C code. 02 November 2022 by LWN's Jake Edge.
- [HTML] Would you like signs with those chars? 24 October 2022 by LWN's Jonathan Corbet.
- [HTML] Time is an illusion, Unix time doubly so... 23 October 2022 by Jan Schaumann.
- [HTML] Always use
[closed, open)
intervals. 07 October 2022 by Fernando Hurtado Cardenas.
- [HTML] How to fix an ancient GDB problem. 29 September 2022 by LWN's Jonathan Corbet.
- [HTML] Supporting CHERI capabilities in GCC and glibc. 26 September 2022 by LWN's Jonathan Corbet.
- [HTML] BPF as a safer kernel programming environment. 23 September 2022 by David Vernet.
- [HTML] Safer flexible arrays for the kernel. 22 September 2022 by LWN's Jake Edge.
- [HTML] Introducing io_uring_spawn. 20 September 2022 by LWN's Jake Edge.
- [HTML] GCC's new fortification level: the gains and costs. 17 September 2022 by Red Hat's Siddhesh Poyarekar.
- [HTML] The road to Zettalinux. 16 September 2022 by LWN's Jonathan Corbet.
- [HTML] Someone's Been Messing With My Subnormals! 06 September 2022 by New York Univeristy - Tandon School of Engineering's Brendan Dolan-Gavitt. This is nominally a story about Python's packaging ecosystem, but
-ffast-math
rears its ugly head here.
- [HTML] What's in a (type) name? 02 September 2022 by LWN's Jonathan Corbet.
- [HTML] C xor C++ Programming: Situations where the same code has different meaning in C and C++. 03 August 2022 by Intel's Aaron Ballman.
- [PDF] C23 working draft. 08 June 2022.
- [HTML] A game for learning C operator precedence. 08 May 2022 by Hugo Landau.
- [HTML] You should know:
rand()
may call malloc()
. 07 April 2022 by Adam Dunkels.
- [HTML] Moving the kernel to modern C. 24 February 2022 by LWN's Jonathan Corbet.
- [HTML] C99 doesn't need function bodies, or 'VLAs are Turing complete'. 19 February 2022.
- [PDF] How ISO C became unusable for operating systems development. 19 January 2022 by Victor Yodaiken.
- [HTML]
glibc
is still not Y2038 compliant by default. 29 December 2021 by Ariadne Conill.
- [HTML] Stop defining feature-test macros in your code. 21 December 2021 by Ariadne Conill.
- [HTML] Uninitialized stack variables. 24 November 2021 by Jan Schaumann.
- [HTML] Duff's device in 2021. 18 November 2021 by Chloé Lourseyre.
- [HTML] V7 Unix had no stack size limit, and when Unix acquired one. 10 October 2021 by the University of Toronto's Chris Siebenmann.
- [HTML] Stack size is invisible in C and the effects on "portability". 27 September 2021 by the University of Toronto's Chris Siebenmann.
- [HTML] Pitfalls of VLA in C. 05 July 2021 by Jakub Łukasiewicz.
- [HTML] The Unix process API is unreliable and unsafe. 08 May 2021 by Spencer Baugh.
- [HTML] "A damn stupid thing to do"—the origins of C. 09 December 2020 by Ars Technica's Richard Jensen.
- [HTML] Peeking under the hood of GCC's
__builtin_expect
. 23 March 2020 by Tudor Brindus.
- [HTML] The worst of time64 breakage. 15 February 2020 by Rich Felker.
- [HTML] Some obscure C features. 21 August 2019 by Victor Collod.
- [PDF] ISO/IEC JTC1/SC22/WG14 N2363: C provenance semantics: examples. 01 April 2019.
- [HTML] But is it atomic? 29 November 2018 by Kristian Köhntopp.
- [VIDEO] The History of Fire Escapes. 08 August 2018 by Squarespace's Tanya Reilly.
- [VIDEO] Where did Bytes Come From? 01 May 2018 by Professor David Brailsford, University of Nottingham.
- [PDF] Taming undefined behavior in LLVM. PLDI 2017 by Juneyoung Lee, Yoonseung Kim, Youngju Song, Chung-Kil Hur, Sanjoy Das, David Majnemer, John Regehr, and Nuno P. Lopes.
- [HTML] ABC: A C compiler for printable x86. SIGBOVIK 2017 by Tom Murphy VII.
- [PDF] Detecting Strict Aliasing Violations in the Wild. VMCAI 2017 by Pascal Cuoq, Loïc Runarvot, and Alexander Cherepanov.
- [HTML] On
sprintf()
Fails. 16 July 2016 by Georg Sauthoff.
- [HTML]
main
is usually a function. So then when is it not? 26 January 2015 by James Rowe.
- [HTML] Undefined behavior can result in time travel. 27 June 2014 by Microsoft's Raymond Chen.
- [HTML] Undefined behaviour. 13 February 2014 by ARM's Szabolcs Nagy.
- [HTML] Incorrect configure checks for availability of functions. 14 August 2013 by Rich Felker.
- [HTML]
NULL
considered harmful. 04 July 2013 by Rich Felker.
- [HTML] Don't be afraid of variably modified types. 09 January 2011 by INRIA's Jens Gustedt.
- [HTML] How many bits has a byte? 01 June 2010 by INRIA's Jens Gustedt.
- [USENET] Operator precedence. 22 October 1982 by Dennis Ritchie.