[Sema] Improve redefinition errors pointing to the same header
Diagnostics related to redefinition errors that point to the same header
file do not provide much information that helps users fixing the issue.
- In the modules context, it usually happens because of non modular
includes.
- When modules aren't involved it might happen because of the lack of
header guards.
Enhance diagnostics in these scenarios.
Differential Revision: https://reviews.llvm.org/D28832
rdar://problem/
31669175
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302765
91177308-0d34-0410-b5e6-
96231b3b80d8