This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
C as used/implemented in practice: analysis of responses
- From: Peter Sewell <Peter dot Sewell at cl dot cam dot ac dot uk>
- To: libc-alpha at sourceware dot org
- Date: Fri, 26 Jun 2015 09:46:31 +0100
- Subject: C as used/implemented in practice: analysis of responses
- Authentication-results: sourceware.org; auth=none
- Reply-to: Peter dot Sewell at cl dot cam dot ac dot uk
As part of a project to clarify what behaviour of C implementations is
actually relied upon in modern practice, and what behaviour is
guaranteed by current mainstream implementations, we recently
distributed a survey of 15 questions about C, https://goo.gl/AZXH3S.
We were asking what C is in current mainstream practice: the behaviour
that programmers assume they can rely on, the behaviour provided by
mainstream compilers, and the idioms used in existing code, especially
systems code. We were *not* asking what the ISO C standard permits,
which is often more restrictive, or about obsolete or obscure hardware
or compilers. We focussed on the behaviour of memory and pointers.
We've had around 300 responses, including many compiler and OS
developers, and the results are summarised on the web at
http://www.cl.cam.ac.uk/~pes20/cerberus (which also has more details).
For many questions the outcome seems clear, but for some, especially
1, 2, 9, 10, and 11, major open questions about current compiler
behaviour remain; we'd greatly appreciate informed comments on those
from the relevant compiler developers (or other experts).
If you can answer these, please reply to the gcc or llvm-dev threads
on this, or by mailing the Cerberus mailing list:
cl-cerberus@lists.cam.ac.uk
https://lists.cam.ac.uk/mailman/listinfo/cl-cerberus
many thanks,
Kayvan Memarian and Peter Sewell (University of Cambridge)