This file is a list of the people responsible for ensuring that patches for a
particular part of Clang are reviewed, either by themself or by someone else.
They are also the gatekeepers for their part of Clang, with the final word on
what goes in or not.

The list is sorted by surname and formatted to allow easy grepping and
beautification by scripts.  The fields are: name (N), email (E), web-address
(W), PGP key ID and fingerprint (P), description (D), and snail-mail address
(S).

N: Aaron Ballman
E: aaron@aaronballman.com
D: Clang attributes

N: Alexey Bataev
E: a.bataev@hotmail.com
D: OpenMP support

N: Chandler Carruth
E: chandlerc@gmail.com
E: chandlerc@google.com
D: CMake, library layering

N: Eric Christopher
E: echristo@gmail.com
D: Debug Information, autotools/configure/make build, inline assembly

N: Doug Gregor
E: dgregor@apple.com
D: Emeritus owner

N: Reid Kleckner
E: rnk@google.com
D: Microsoft C++ ABI compatibility and general Windows support

N: Manuel Klimek
E: klimek@google.com
D: AST matchers, LibTooling

N: Anton Korobeynikov
E: anton@korobeynikov.info
D: Exception handling, Windows codegen, ARM EABI

N: Anna Zaks
E: ganna@apple.com
D: Clang Static Analyzer

N: John McCall
E: rjmccall@apple.com
D: Clang LLVM IR generation

N: Richard Smith
E: richard@metafoo.co.uk
D: All parts of Clang not covered by someone else
