summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Simplify the debug info code, handle lvalue references and template ↵Anders Carlsson2009-11-061-13/+31
| | | | | | specializations. llvm-svn: 86277
* Handle QualifiedNameType and SubstTemplateTypeParmType types in ↵Anders Carlsson2009-11-061-0/+11
| | | | | | CGDebugInfo::CreateTypeNode. llvm-svn: 86274
* Don't assert when trying to generate debug info for vector types. This needs ↵Anders Carlsson2009-11-061-0/+4
| | | | | | to be fixed eventually... llvm-svn: 86268
* Instead of returning a null DIType for unhandled types, assert.Anders Carlsson2009-11-061-9/+1
| | | | llvm-svn: 86254
* Enable debug info for global variables at -O1+Devang Patel2009-11-051-7/+0
| | | | llvm-svn: 86156
* Fixup the return type of functions.Mike Stump2009-10-231-2/+2
| | | | llvm-svn: 84922
* Do not eagerly cache DITypes because it allows real struct type to be ↵Devang Patel2009-10-201-31/+58
| | | | | | shadowed by forward declared struct type. llvm-svn: 84659
* Encode global variable name in debug info.Devang Patel2009-10-201-2/+2
| | | | llvm-svn: 84653
* Remove the ConstantArrayType subtypes. This information is preserved in theJohn McCall2009-10-161-2/+0
| | | | | | | | | | TypeLoc records for declarations; it should not be necessary to represent it directly in the type system. Please complain if you were using these classes and feel you can't replicate previous functionality using the TypeLoc API. llvm-svn: 84222
* Few targets like PIC16 mangle the names of global variables, so retrieve the ↵Sanjiv Gupta2009-10-141-1/+1
| | | | | | | | name from Var itself rather than the decl for DebugInfo metadata. llvm-svn: 84102
* Encode long double.Devang Patel2009-10-121-0/+1
| | | | llvm-svn: 83912
* Allow customization for the producer information in the debug output.Mike Stump2009-10-091-1/+5
| | | | llvm-svn: 83659
* InsertSubprogramStart if ATTACH_DEBUG_INFO_TO_AN_INSN is not defined.Devang Patel2009-10-061-1/+3
| | | | llvm-svn: 83419
* Add support to attach debug info to an instruction.Devang Patel2009-10-061-1/+16
| | | | | | This is not yet enabled. llvm-svn: 83399
* Set appropriate context for a global variable while emitting debug info.Devang Patel2009-10-061-1/+18
| | | | llvm-svn: 83352
* More magic pixie dust.Mike Stump2009-10-021-3/+3
| | | | llvm-svn: 83232
* Fix up debug information for block pointers a bit more.Mike Stump2009-10-021-1/+3
| | | | llvm-svn: 83231
* Implement a FIXME. This improves codegen just a tad.Mike Stump2009-10-011-2/+2
| | | | llvm-svn: 83221
* Improve debugging information for BlockDeclRefExpr. WIP. Given thisMike Stump2009-09-301-0/+202
| | | | | | | scheme, we can switch the previous scheme over to using this code path. There's a bit of simplifications yet to do as well. llvm-svn: 83138
* Fix an infinite loop arising when trying to generate debug informationJohn McCall2009-09-251-16/+23
| | | | | | for a ObjC class with an ivar of weak self type. llvm-svn: 82745
* Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall2009-09-241-1/+0
| | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705
* Fix some typos. WIP. Large alignments don't work yet.Mike Stump2009-09-221-3/+3
| | | | llvm-svn: 82512
* Improve debug info generation for __block variables.Mike Stump2009-09-221-1/+133
| | | | llvm-svn: 82508
OpenPOWER on IntegriCloud