AST: Don't assume two zero sized objects live at different addresses

Zero sized objects may overlap with each other or any other object.

This fixes PR21786.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223852 91177308-0d34-0410-b5e6-96231b3b80d8
DebugInfo: Correct location of aggregate assignment

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