]> granicus.if.org Git - clang/commit
Module Debugging: Fix the condition for determining whether a template
authorAdrian Prantl <aprantl@apple.com>
Mon, 25 Apr 2016 20:52:40 +0000 (20:52 +0000)
committerAdrian Prantl <aprantl@apple.com>
Mon, 25 Apr 2016 20:52:40 +0000 (20:52 +0000)
commit15a13f4ca1516737c5e4d1d8d72ba56a6a77005e
tree0ab0cea2da7d3a1e8782797cfface9b173d44a71
parent4a65931dcba82b23856d654eb77d133d0a3c59f2
Module Debugging: Fix the condition for determining whether a template
instantiation is in a module.

This patch fixes the condition for determining whether the debug info for a
template instantiation will exist in an imported clang module by:

- checking whether the ClassTemplateSpecializationDecl is complete and
- checking that the instantiation was in a module by looking at the first field.

I also added a negative check to make sure that a typedef to a forward-declared
template (with the definition outside of the module) is handled correctly.

http://reviews.llvm.org/D19443
rdar://problem/25553724

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267464 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGDebugInfo.cpp
test/Modules/ExtDebugInfo.cpp
test/Modules/Inputs/DebugCXX.h
test/Modules/ModuleDebugInfo.cpp