]> granicus.if.org Git - clang/commit
PR16214, PR14467: DebugInfo: use "RequireCompleteType" to decide when to emit the...
authorDavid Blaikie <dblaikie@gmail.com>
Sat, 13 Jul 2013 21:08:14 +0000 (21:08 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Sat, 13 Jul 2013 21:08:14 +0000 (21:08 +0000)
commit658cd2c287b1a0b419f51cd18e5a48d4560d1c56
tree119ef92721aea5a21d226e3cdf77480a6b3e6f2f
parent226399ce18cdcbb1e83af7c5e644bdabb9d4f2f8
PR16214, PR14467: DebugInfo: use "RequireCompleteType" to decide when to emit the full definition of a type in -flimit-debug-info

This simplifies the core benefit of -flimit-debug-info by taking a more
systematic approach to avoid emitting debug info definitions for types
that only require declarations. The previous ad-hoc approach (3 cases
removed in this patch) had many holes.

The general approach (adding a bit to TagDecl and callback through
ASTConsumer) has been discussed with Richard Smith - though always open
to revision.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186262 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ASTConsumer.h
include/clang/AST/Decl.h
include/clang/Sema/Sema.h
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGExprCXX.cpp
lib/CodeGen/CGExprScalar.cpp
lib/CodeGen/CodeGenAction.cpp
lib/CodeGen/ModuleBuilder.cpp
lib/Sema/SemaType.cpp
test/CodeGenCXX/debug-info-class-limited.cpp