summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix the test I broke, and also fix a crash when declaring a virtual ↵Anders Carlsson2010-01-261-21/+25
| | | | | | destructor. Add debug info support for pure virtual member functions. llvm-svn: 94519
* Factor creating the DISubprogram for a member function out into a separate ↵Anders Carlsson2010-01-261-51/+63
| | | | | | function. llvm-svn: 94513
* Simplify CGDebugInfo::CollectCXXMemberFunctions a little. More to come.Anders Carlsson2010-01-261-6/+6
| | | | llvm-svn: 94511
* First cut at emitting inheritance info.Devang Patel2010-01-251-1/+37
| | | | llvm-svn: 94473
* Emit debug info for virtual functions.Devang Patel2010-01-251-2/+12
| | | | llvm-svn: 94467
* fix rdar://7556129 a crash in blocks debug info codegen.Chris Lattner2010-01-251-2/+3
| | | | llvm-svn: 94402
* simplify code.Chris Lattner2010-01-251-19/+10
| | | | llvm-svn: 94401
* No need to terminate this buffer.Benjamin Kramer2010-01-231-4/+3
| | | | llvm-svn: 94313
* A Decl->getName() is not unique. However, the debug info descriptors Devang Patel2010-01-201-1/+8
| | | | | | | | | | are uniqued. The debug info descriptor describing record's context is necessary to keep two Decl's descriptor unique if their name match. There is more work to do to create descriptors for DeclContext. As a temp. step use type's name in FwdDecl. llvm-svn: 94050
* Emit human readable names for operators.Devang Patel2010-01-191-4/+3
| | | | llvm-svn: 93837
* First cut at emitting debugging information for C++ member functions.Devang Patel2010-01-191-2/+71
| | | | | | There is lot more work to do in this area. llvm-svn: 93836
* Use llvm::Function name as the linkage name, but strip off leading '01' from ↵Devang Patel2010-01-191-0/+2
| | | | | | display name. llvm-svn: 93822
* Refactor.Devang Patel2010-01-191-49/+60
| | | | llvm-svn: 93814
* llvm::Function name is the linkage name. If it has a '01' as a prefix then ↵Devang Patel2010-01-181-3/+0
| | | | | | probably there is a reason. llvm-svn: 93808
* Fix crash generating debug info for constructor for anonymous struct.Eli Friedman2010-01-161-1/+1
| | | | llvm-svn: 93601
* Emit linkage name even if it matches regular name. The code generator uses ↵Devang Patel2010-01-141-3/+3
| | | | | | linkage name to find subprogram entry for the current function. llvm-svn: 93461
* Add comment.Devang Patel2010-01-141-0/+3
| | | | llvm-svn: 93434
* Because CurLoc is the current source location as far as CGDebugInfo is ↵Devang Patel2010-01-141-1/+0
| | | | | | concerned. It is expected that this is set (usually left bracket location of function body compound statement) before EmitfunctionStart() is used. llvm-svn: 93389
* Emit human readable names for c/c++ functions. Avoid emitting linkage name ↵Devang Patel2010-01-141-7/+38
| | | | | | if it matches regular name. llvm-svn: 93383
* Roll out ASTContext::getTypeSizeInChars(), replacing instances ofKen Dyck2010-01-111-6/+8
| | | | | | | | | | "ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits ones as appropriate. Also rename RawType, fromRaw(), and getRaw() in CharUnits to QuantityType, fromQuantity(), and getQuantity() for clarity. llvm-svn: 93153
* Get rid of FixedWidthIntType, as suggested by Chris and Eli.Anders Carlsson2009-12-291-5/+4
| | | | llvm-svn: 92246
* adjust for llvm api changes.Chris Lattner2009-12-281-10/+2
| | | | llvm-svn: 92236
* this form of SetDebugLocation is about to go away, add some #includes thatChris Lattner2009-12-281-4/+13
| | | | | | are about to not come in implicitly. llvm-svn: 92228
* Improve on my previous fix for debug information. Rather thanDouglas Gregor2009-12-211-51/+42
| | | | | | | | | recursing in CGDebugInfo::CreateTypeNode, teach CanonicalizeTypeForDebugInfo---now called UnwrapTypeForDebugInfo---to keep unwrapping the type until we hit something that can be represented by debug information. Thanks to Anders for pointing this out! llvm-svn: 91840
* Teach debug info generation to handle TemplateSpecializationType,Douglas Gregor2009-12-211-3/+50
| | | | | | | | ElaboratedType, QualifiedNameType, and SubstTemplateTypeParmType type nodes. Also, produce an "unsupported" diagnostic for C++0x type nodes and "typeof" nodes, rather than asserting nondescriptly. llvm-svn: 91837
* Add -dwarf-debug-flags, which provides a way to embed the cc1 level options usedDaniel Dunbar2009-12-181-7/+3
| | | | | | | | to compile a translation unit into the debug info for that file. - Used by parts of Darwin build process to check compiler flags, etc. - <rdar://problem/7256886> clang does not emit AT_APPLE_flags llvm-svn: 91661
* Use StringRef in CGDebugInfo::EmitFunctionStart.Benjamin Kramer2009-12-081-3/+3
| | | | llvm-svn: 90856
* Use Path.makeAbsolute() and make a constant std::string a const char*.Benjamin Kramer2009-12-081-7/+3
| | | | llvm-svn: 90851
* Remove several .c_str() to be forward-compatible with StringRef.Jeffrey Yasskin2009-12-081-2/+2
| | | | llvm-svn: 90822
* Add rudimentary support for member pointers to CGDebugInfo.Anders Carlsson2009-12-061-124/+167
| | | | llvm-svn: 90711
* Move MainFileName option variable into CodeGenOptions instead of LangOptions.Daniel Dunbar2009-11-291-3/+3
| | | | llvm-svn: 90051
* Use StringRef (again) in DebugInfo interface.Devang Patel2009-11-251-18/+18
| | | | llvm-svn: 89867
* First part of changes to eliminate problems with cv-qualifiers andDouglas Gregor2009-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sugared types. The basic problem is that our qualifier accessors (getQualifiers, getCVRQualifiers, isConstQualified, etc.) only look at the current QualType and not at any qualifiers that come from sugared types, meaning that we won't see these qualifiers through, e.g., typedefs: typedef const int CInt; typedef CInt Self; Self.isConstQualified() currently returns false! Various bugs (e.g., PR5383) have cropped up all over the front end due to such problems. I'm addressing this problem by splitting each qualifier accessor into two versions: - the "local" version only returns qualifiers on this particular QualType instance - the "normal" version that will eventually combine qualifiers from this QualType instance with the qualifiers on the canonical type to produce the full set of qualifiers. This commit adds the local versions and switches a few callers from the "normal" version (e.g., isConstQualified) over to the "local" version (e.g., isLocalConstQualified) when that is the right thing to do, e.g., because we're printing or serializing the qualifiers. Also, switch a bunch of Context.getCanonicalType(T1).getUnqualifiedType() == Context.getCanonicalType(T2).getQualifiedType() expressions over to Context.hasSameUnqualifiedType(T1, T2) llvm-svn: 88969
* revert r88963.Devang Patel2009-11-161-1/+0
| | | | llvm-svn: 88965
* Use TrackingVH to hold forward decl. This one is for RecordType.Devang Patel2009-11-161-0/+1
| | | | llvm-svn: 88963
* Parallel fix to r88951: use TrackingVH to hold forward decl.Eli Friedman2009-11-161-1/+2
| | | | llvm-svn: 88962
* Fix valgrind uninitialized error.Eli Friedman2009-11-161-4/+6
| | | | llvm-svn: 88952
* Use TrackingVH to hold forward decl.Devang Patel2009-11-161-1/+2
| | | | llvm-svn: 88951
* Canonicalize the type before trying to create a debug type.Anders Carlsson2009-11-141-26/+26
| | | | llvm-svn: 88808
* Have CGDebugInfo::getOrCreateType cache the QualType instead of having every ↵Anders Carlsson2009-11-141-19/+4
| | | | | | ConvertType overload do it. llvm-svn: 88807
* Do not store DIDescriptor directly into a container. Store MDNode directly, ↵Devang Patel2009-11-131-14/+13
| | | | | | through TrackingVH. llvm-svn: 88677
* "Attach debug info with llvm instructions" mode was enabled a month ago. ↵Devang Patel2009-11-121-31/+14
| | | | | | Now make it permanent and remove old way of inserting intrinsics to encode debug info for locations and types. llvm-svn: 87007
* Use getNameAsCString() instead of getName().data()Devang Patel2009-11-121-13/+13
| | | | llvm-svn: 87001
* Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library.Chandler Carruth2009-11-121-5/+5
| | | | | | This resolves the layering violation where CodeGen depended on Frontend. llvm-svn: 86998
* Do not use StringRef while using DebugInfo interface.Devang Patel2009-11-121-37/+30
| | | | llvm-svn: 86915
* Do not eagerly set stop point for arguments. This misleads the debugger in ↵Devang Patel2009-11-111-4/+19
| | | | | | identifying beginning of function body. Instead, create new location to attach with llvm.dbg.declare. This location is only used to find the context of the variable by the code generator, and it is not used to emit line number info. llvm-svn: 86862
* Attach location info with llvm.dbg.declare.Devang Patel2009-11-101-1/+4
| | | | llvm-svn: 86750
* Revert r86315 and add Type::FixedWidthInt to the FIXME cases.Anders Carlsson2009-11-071-0/+2
| | | | llvm-svn: 86320
* Do not assert if debug info for certain type is not generated.Devang Patel2009-11-071-1/+0
| | | | llvm-svn: 86315
* Do not emit linkage name for global variables. It confuses gdb, because it ↵Devang Patel2009-11-071-1/+3
| | | | | | picks up AT_MIPS_linkage_name and ignores AT_name. llvm-svn: 86308
OpenPOWER on IntegriCloud