Peter Sewell
2015-Apr-23 08:39 UTC
[LLVMdev] Questions about C as used/implemented in practice
Dear LLVM developers, we are trying to clarify what behaviour of C implementations is actually relied upon in modern practice, and what behaviour is guaranteed by current mainstream implementations (these can be quite different from the ISO standards, and may differ in different contexts). Focussing on the sequential behaviour of memory operations, we've collected a short survey of 15 questions about C: http://goo.gl/dyP1K8 Your answers to these would be very helpful, especially if you can speak authoritatively about what clang/llvm do (it's difficult for us to directly investigate the emergent properties of the combination of optimisations in a production compiler), or about undefined-behaviour or memory sanitisers. Some of you might have seen this survey in the recent EuroLLVM keynote by Francesco Zappa Nardelli. This continues a research project at the University of Cambridge; in earlier work (with Batty, Owens, and Sarkar) we addressed the C/C++11 concurrency model, which clarified what that model should be and resulted in fixes to the ISO standards, and work on compiler testing (by Zappa Nardelli, Morisset, and Pawan); we hope for similar benefits here. many thanks, Kayvan Memarian and Peter Sewell