Questions about C as used/implemented in practice

Dear Clang 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 does (it's difficult for us to
directly investigate the emergent properties of the combination of
optimisations in a production compiler). Some of you might have seen this
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