LGTM.
================
Comment at: include/clang/AST/Stmt.h:1907
@@ -1906,2 +1906,3 @@
VarDecl *Var;
+ VariableCaptureKind Kind;
SourceLocation Loc;
----------------
How about packing the kind into the low bits of the VarDecl with a PointerIntPair<VarDecl *, VariableCaptureKind, 1>?
http://llvm-reviews.chandlerc.com/D712