Make TypeDecl much less friendly.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207007 91177308-0d34-0410-b5e6-96231b3b80d8
MS ABI: Use a different guard variable for each weak global

We were using the same guard variable and failing to initialize the
second global.

Clang is still not MS ABI compatible in this area.  Fixing that is
PR16959, which will require LLVM changes to @llvm.global_ctors.

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