tested:
* clang 3.2