Started implementing variable templates. Top level declarations should be fully supported, up to some limitations documented as FIXMEs or TODO. Static data member templates work very partially. Static data member templates of class templates need particular attention...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187762 91177308-0d34-0410-b5e6-96231b3b80d8
SemaTemplateInstantiateDecl.cpp: Suppress a warning. [-Wunused-variable]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187765 91177308-0d34-0410-b5e6-96231b3b80d8
AST/DeclTemplate.h: Possibly fix a warning. [-Wuninitialized]

FIXME: Would '0' be an appropriate value in SequenceNumber?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187766 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/Driver/crash-report.c: Mark it as XFAIL:mingw32, for now. Investigating.

I met a message, "fatal error: file 'nul' modified since it was first processed".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187767 91177308-0d34-0410-b5e6-96231b3b80d8
Moved diagnosis of forward declarations of variable templates from Parser to Sema.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187768 91177308-0d34-0410-b5e6-96231b3b80d8
Fix for PR16570: when comparing two function pointers, discard qualifiers when
comparing non-reference function parameters.  The qualifiers don't matter for
comparisons.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187769 91177308-0d34-0410-b5e6-96231b3b80d8
Fixing commit r187768: Moved diagnosis of forward declarations of variable templates from Parser to Sema.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187770 91177308-0d34-0410-b5e6-96231b3b80d8
Removed hack that was used to properly restore the nested name specifier of qualified variable template ids. It turns out that the current implementation was just not logical setup for it. This commit has made it so.

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