aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGDebugInfo.cpp
AgeCommit message (Collapse)Author
2011-12-15When generating debug info for an ObjCInterfaceDecl, try to dig out the ↵Douglas Gregor
definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146705 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-15Keep track of all declarations of an Objective-C class (both forwardDouglas Gregor
declarations and definitions) as ObjCInterfaceDecls within the same redeclaration chain. This new representation matches what we do for C/C++ variables/functions/classes/templates/etc., and makes it possible to answer the query "where are all of the declarations of this class?" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146679 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29Make sure that forward declarations are marked as such in the debug infoEric Christopher
for the structure type. rdar://10499337 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145461 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-17Use the canonical decl to index so that we can really find it later.Eric Christopher
Fixes rdar://10433202 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144938 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-14Fixup comment.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144548 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-10Reflow lines, remove else-if after returns, rename variable "TydefContext" toNick Lewycky
"TypedefContext". No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144248 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Reflow one line I missed in previous cleanup commit. No functionality change.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144168 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Minor cleanup, mostly reindenting. Remove one helper function that just calledNick Lewycky
the other helper functions, since we already differentiated the cases it was testing between. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144167 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-29Rename Expr::Evaluate to Expr::EvaluateAsRValue to make it clear that it willRichard Smith
implicitly perform an lvalue-to-rvalue conversion if used on an lvalue expression. Also improve the documentation of Expr::Evaluate* to indicate which of them will accept expressions with side-effects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143263 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-28In case of template specialization, do not try to delay emitting debug info ↵Devang Patel
for concrete type in -flimit-debug-info mode. This fixes some of the failures from bs15503.exp tests in gdb testsuite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143227 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-24Do not drop type qualifiers in -flimit-debug-info mode.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142873 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-21Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky
closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142633 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18Macro metaprogramming for builtin types.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142420 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Add a new placeholder type to represent "unbridged"John McCall
casts in ARC. No semantic analysis yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142208 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14Provide half floating point support as a storage only type.Anton Korobeynikov
Lack of half FP was a regression compared to llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142016 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14Simplify code to avoid a useless string copy.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141970 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14Upgrade to PathV2.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141969 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14Add parens to pacify GCC.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141968 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-13Recommit:Eric Christopher
Start handling debug line and scope information better: Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 after fixing a few bugs that were exposed in gdb testsuite testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141893 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-12Revert file/scope handling patches. gdb testing revealed a couple of bugs.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141796 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-12Remember to set the location in EmitGlobalVariable to the current declEric Christopher
if we're going to delete the setLocation as we did in 141732. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141762 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-11Start handling debug line and scope information better:Eric Christopher
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage. Finishes off the rest of rdar://10246360 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141732 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-1180-column and tab cleanup.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141731 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-11Reorder this to make it easier to add more changes for a location set.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141730 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-10Constant expression evaluation refactoring:Richard Smith
- Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions, and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert behaviour. - Factor out evaluation of bitfield bit widths. - Fix a few places which would evaluate an expression twice: once to determine whether it is a constant expression, then again to get the value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141561 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Support for C1x _Atomic specifier (see testcase). This is primarily being ↵Eli Friedman
committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic. Thanks to Jeffrey Yasskin for the thorough review! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141330 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06When constructing debug information for synthesized variables for theEric Christopher
non-fragile ABI we may not be able to lay out the type and the debugger would ignore us even if we did put in the offset. Go ahead and just put any value there and don't look up the offset since it may not exist. rdar://10210157 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141261 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06Reformat comment.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141260 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-03Allow getting all source locations of selector identifiers in a ObjCMethodDecl.Argyrios Kyrtzidis
Instead of always storing all source locations for the selector identifiers we check whether all the identifiers are in a "standard" position; "standard" position is -Immediately before the arguments: -(id)first:(int)x second:(int)y; -With a space between the arguments: -(id)first: (int)x second: (int)y; -For nullary selectors, immediately before ';': -(void)release; In such cases we infer the locations instead of storing them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140989 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Change "Regions" to be "LexicalBlocks" since that's what theyEric Christopher
correspond to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140740 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Rename EmitStopPoint in CGDebugInfo to EmitLocation. "stop points" don'tEric Christopher
exist anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140739 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Reorder functions in the file.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140738 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Call UpdateLineDirectiveRegion every time we want to emit a stopEric Christopher
point in the code. Ensures that we don't miss any places and the check is reasonably cheap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140737 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29Update comment.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140736 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26Update comments.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140531 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26Create a VTableContext class and start moving CodeGenVTables methods to itPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140502 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-25Rename Diagnostic to DiagnosticsEngine as per issue 5397David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140478 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Removing a bunch of dead returns/breaks after llvm_unreachables.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140407 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Switch assert(0/false) llvm_unreachable.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Tighten check to match an ivar with corresponding property by using ↵Devang Patel
ObjCImplementationDecl. Radar 10139522 - Part 1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140038 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-14Emit debug info for c++0x nullptr.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139752 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-14Formatting.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139681 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-13Fix typo.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139668 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12By popular demand, enumerate all builtin types!Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139521 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12Add an assert so that new builtins do not sneak without proper debug info.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139514 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12Fix debug info encodings for char16_t and char32_t.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139502 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-10Emit debug info for wchar_t.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139443 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-02Extend the ASTContext constructor to delay the initialization ofDouglas Gregor
builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138985 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Don't try to emit unsupported templated friend declarations. They're unsupportedNick Lewycky
and may very well be dependent-types, triggering an assertion in debug info codegen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138970 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-25Mechanically rename SourceManager::getInstantiationLoc andChandler Carruth
FullSourceLoc::getInstantiationLoc to ...::getExpansionLoc. This is part of the API and documentation update from 'instantiation' as the term for macros to 'expansion'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135914 91177308-0d34-0410-b5e6-96231b3b80d8