Sema: Instantiation of variable definitions weren't local enough

We wouldn't properly save and restore the pending local instantiations
we had built up prior to instantiation of a variable definition.  This
would lead to us instantiating too much causing crashes and other
general badness.

This fixes PR14374.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195887 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for C++'s SD6 feature test macros.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195888 91177308-0d34-0410-b5e6-96231b3b80d8
Attempt to make test from r195886 portable with different shells

Windows and Hexagon complained. It's not clear which command is failing, so
will back out the changes if this doesn't do the trick.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195889 91177308-0d34-0410-b5e6-96231b3b80d8
One last portability fix attempt for r195886

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