DebugInfo: Forward HandleTagDeclRequiredDefinition through MultiplexConsumer to fix...
authorDavid Blaikie <dblaikie@gmail.com>
Wed, 16 Jul 2014 23:52:46 +0000 (23:52 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Wed, 16 Jul 2014 23:52:46 +0000 (23:52 +0000)
commit1326975496dea765966b873e681910b094916a91
tree2c06e3994bb7569a9f1b19f06a3112a701552b86
parent13690037ffcacb740172f1013f1df0e02b62d350
DebugInfo: Forward HandleTagDeclRequiredDefinition through MultiplexConsumer to fix debug info emission in the presence of plugins.

When plugins are used the Multiplex(AST)Consumer is employed to dispatch
to both the plugin ASTConsumers and the IRGen ASTConsumer. It wasn't
dispatching a critical call for debug info, resulting in plugin users
having a negative debugging experience.

While I'm here, forward a bunch of other missing calls through the
consumer that seem like they should be there.

To test this, use the example plugin (requires plugins and examples) and
split the test case up so that the plugin testing can be done under that
requirement while the non-plugin testing will execute even in builds
that don't include plugin support or examples.

llvm-svn: 213213
clang/include/clang/Frontend/MultiplexConsumer.h
clang/lib/Frontend/MultiplexConsumer.cpp
clang/test/CodeGenCXX/Inputs/debug-info-class-limited.cpp [moved from clang/test/CodeGenCXX/debug-info-class-limited.cpp with 91% similarity]
clang/test/CodeGenCXX/debug-info-class-limited-plugin.test [new file with mode: 0644]
clang/test/CodeGenCXX/debug-info-class-limited.test [new file with mode: 0644]