Work around unused variable warning in release builds.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@189028 91177308-0d34-0410-b5e6-96231b3b80d8
Re-add clang-check to the Makefile build.

I was bound to screw this up somehow.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@189029 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor VariantMatcher to use an interface underneath.

Summary:
Refactor VariantMatcher to use an interface underneath.
It supports "Single" and "Polymorphic". Will support more in the future.

Reviewers: klimek

CC: cfe-commits, revane

Differential Revision: http://llvm-reviews.chandlerc.com/D1446

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@189032 91177308-0d34-0410-b5e6-96231b3b80d8