summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-info-class-limited.cpp
Commit message (Collapse)AuthorAgeFilesLines
* DebugInfo: Forward HandleTagDeclRequiredDefinition through MultiplexConsumer ↵David Blaikie2014-07-161-50/+0
| | | | | | | | | | | | | | | | | | | 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
* Revert "Stuff"David Blaikie2014-07-161-2/+1
| | | | | | | | This reverts commit r213210. Accidental commit. llvm-svn: 213212
* DebugInfo: Ensure the ASTConsumer "HandleTagDeclRequireDefinition" callback ↵David Blaikie2014-07-161-5/+3
| | | | | | | | | | | | | | | | | | | | | path is tested. By having the two variables 'a' and 'b' in this test in a namespace, the type was required to be complete before any debug info was ever emitted (the entire namespace is parsed before the variables were emitted), this meant that the codepath in which a declaration is emitted, then later on the type is required to be complete and the debug info must be upgraded to a definition was not used. Moving the variables outside a namespace fixes this test coverage bug. (interestingly, code coverage didn't help here - HandleTagDeclRequireDefinition is fully covered because it's called even in cases where the type hasn't been emitted for debug info at all (further down in CGDebugInfo this no-ops) - so CC wouldn't've helped catch this test coverage problem) llvm-svn: 213211
* StuffDavid Blaikie2014-07-161-1/+2
| | | | llvm-svn: 213210
* Call RequireCompleteType when performing ADL even if the type is alreadyRichard Smith2014-03-141-1/+1
| | | | | | | | complete. We hook into this check from a couple of other places (modules, debug info) so it's not OK to elide the check if the type was already complete. llvm-svn: 203978
* Implement a new -fstandalone-debug option. rdar://problem/15685848Adrian Prantl2014-01-071-1/+1
| | | | | | | | | | | | | | It controls everything that -flimit-debug-info used to, plus the vtable type optimization. The old -fno-limit-debug-info option is now an alias to -fstandalone-debug and vice versa. Standalone is the default on Darwin until dtrace is updated to work with non-standalone debug info (rdar://problem/15758808). Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind because NoStandaloneDebugInfo sounded even more confusing. llvm-svn: 198655
* PR16214, PR14467: DebugInfo: use "RequireCompleteType" to decide when to ↵David Blaikie2013-07-131-6/+22
| | | | | | | | | | | | | | | 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. llvm-svn: 186262
* DebugInfo test: Rename function to avoid using the same name as a typeDavid Blaikie2013-06-211-1/+1
| | | | llvm-svn: 184598
* Aggregate & rename limit debug info tests.David Blaikie2013-06-211-2/+24
| | | | llvm-svn: 184596
* PR16214: Debug info for types first used via pointers or qualified types & ↵David Blaikie2013-06-211-0/+14
later require definitions llvm-svn: 184594
OpenPOWER on IntegriCloud