Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Improve on my previous fix for debug information. Rather than | Douglas Gregor | 2009-12-21 | 1 | -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 Gregor | 2009-12-21 | 1 | -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 used | Daniel Dunbar | 2009-12-18 | 1 | -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 Kramer | 2009-12-08 | 1 | -3/+3 |
| | | | | llvm-svn: 90856 | ||||
* | Use Path.makeAbsolute() and make a constant std::string a const char*. | Benjamin Kramer | 2009-12-08 | 1 | -7/+3 |
| | | | | llvm-svn: 90851 | ||||
* | Remove several .c_str() to be forward-compatible with StringRef. | Jeffrey Yasskin | 2009-12-08 | 1 | -2/+2 |
| | | | | llvm-svn: 90822 | ||||
* | Add rudimentary support for member pointers to CGDebugInfo. | Anders Carlsson | 2009-12-06 | 1 | -124/+167 |
| | | | | llvm-svn: 90711 | ||||
* | Move MainFileName option variable into CodeGenOptions instead of LangOptions. | Daniel Dunbar | 2009-11-29 | 1 | -3/+3 |
| | | | | llvm-svn: 90051 | ||||
* | Use StringRef (again) in DebugInfo interface. | Devang Patel | 2009-11-25 | 1 | -18/+18 |
| | | | | llvm-svn: 89867 | ||||
* | First part of changes to eliminate problems with cv-qualifiers and | Douglas Gregor | 2009-11-16 | 1 | -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 Patel | 2009-11-16 | 1 | -1/+0 |
| | | | | llvm-svn: 88965 | ||||
* | Use TrackingVH to hold forward decl. This one is for RecordType. | Devang Patel | 2009-11-16 | 1 | -0/+1 |
| | | | | llvm-svn: 88963 | ||||
* | Parallel fix to r88951: use TrackingVH to hold forward decl. | Eli Friedman | 2009-11-16 | 1 | -1/+2 |
| | | | | llvm-svn: 88962 | ||||
* | Fix valgrind uninitialized error. | Eli Friedman | 2009-11-16 | 1 | -4/+6 |
| | | | | llvm-svn: 88952 | ||||
* | Use TrackingVH to hold forward decl. | Devang Patel | 2009-11-16 | 1 | -1/+2 |
| | | | | llvm-svn: 88951 | ||||
* | Canonicalize the type before trying to create a debug type. | Anders Carlsson | 2009-11-14 | 1 | -26/+26 |
| | | | | llvm-svn: 88808 | ||||
* | Have CGDebugInfo::getOrCreateType cache the QualType instead of having every ↵ | Anders Carlsson | 2009-11-14 | 1 | -19/+4 |
| | | | | | | ConvertType overload do it. llvm-svn: 88807 | ||||
* | Do not store DIDescriptor directly into a container. Store MDNode directly, ↵ | Devang Patel | 2009-11-13 | 1 | -14/+13 |
| | | | | | | through TrackingVH. llvm-svn: 88677 | ||||
* | "Attach debug info with llvm instructions" mode was enabled a month ago. ↵ | Devang Patel | 2009-11-12 | 1 | -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 Patel | 2009-11-12 | 1 | -13/+13 |
| | | | | llvm-svn: 87001 | ||||
* | Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library. | Chandler Carruth | 2009-11-12 | 1 | -5/+5 |
| | | | | | | This resolves the layering violation where CodeGen depended on Frontend. llvm-svn: 86998 | ||||
* | Do not use StringRef while using DebugInfo interface. | Devang Patel | 2009-11-12 | 1 | -37/+30 |
| | | | | llvm-svn: 86915 | ||||
* | Do not eagerly set stop point for arguments. This misleads the debugger in ↵ | Devang Patel | 2009-11-11 | 1 | -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 Patel | 2009-11-10 | 1 | -1/+4 |
| | | | | llvm-svn: 86750 | ||||
* | Revert r86315 and add Type::FixedWidthInt to the FIXME cases. | Anders Carlsson | 2009-11-07 | 1 | -0/+2 |
| | | | | llvm-svn: 86320 | ||||
* | Do not assert if debug info for certain type is not generated. | Devang Patel | 2009-11-07 | 1 | -1/+0 |
| | | | | llvm-svn: 86315 | ||||
* | Do not emit linkage name for global variables. It confuses gdb, because it ↵ | Devang Patel | 2009-11-07 | 1 | -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 Carlsson | 2009-11-06 | 1 | -13/+31 |
| | | | | | | specializations. llvm-svn: 86277 | ||||
* | Handle QualifiedNameType and SubstTemplateTypeParmType types in ↵ | Anders Carlsson | 2009-11-06 | 1 | -0/+11 |
| | | | | | | CGDebugInfo::CreateTypeNode. llvm-svn: 86274 | ||||
* | Don't assert when trying to generate debug info for vector types. This needs ↵ | Anders Carlsson | 2009-11-06 | 1 | -0/+4 |
| | | | | | | to be fixed eventually... llvm-svn: 86268 | ||||
* | Instead of returning a null DIType for unhandled types, assert. | Anders Carlsson | 2009-11-06 | 1 | -9/+1 |
| | | | | llvm-svn: 86254 | ||||
* | Enable debug info for global variables at -O1+ | Devang Patel | 2009-11-05 | 1 | -7/+0 |
| | | | | llvm-svn: 86156 | ||||
* | Fixup the return type of functions. | Mike Stump | 2009-10-23 | 1 | -2/+2 |
| | | | | llvm-svn: 84922 | ||||
* | Do not eagerly cache DITypes because it allows real struct type to be ↵ | Devang Patel | 2009-10-20 | 1 | -31/+58 |
| | | | | | | shadowed by forward declared struct type. llvm-svn: 84659 | ||||
* | Encode global variable name in debug info. | Devang Patel | 2009-10-20 | 1 | -2/+2 |
| | | | | llvm-svn: 84653 | ||||
* | Remove the ConstantArrayType subtypes. This information is preserved in the | John McCall | 2009-10-16 | 1 | -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 Gupta | 2009-10-14 | 1 | -1/+1 |
| | | | | | | | | name from Var itself rather than the decl for DebugInfo metadata. llvm-svn: 84102 | ||||
* | Encode long double. | Devang Patel | 2009-10-12 | 1 | -0/+1 |
| | | | | llvm-svn: 83912 | ||||
* | Allow customization for the producer information in the debug output. | Mike Stump | 2009-10-09 | 1 | -1/+5 |
| | | | | llvm-svn: 83659 | ||||
* | InsertSubprogramStart if ATTACH_DEBUG_INFO_TO_AN_INSN is not defined. | Devang Patel | 2009-10-06 | 1 | -1/+3 |
| | | | | llvm-svn: 83419 | ||||
* | Add support to attach debug info to an instruction. | Devang Patel | 2009-10-06 | 1 | -1/+16 |
| | | | | | | This is not yet enabled. llvm-svn: 83399 | ||||
* | Set appropriate context for a global variable while emitting debug info. | Devang Patel | 2009-10-06 | 1 | -1/+18 |
| | | | | llvm-svn: 83352 | ||||
* | More magic pixie dust. | Mike Stump | 2009-10-02 | 1 | -3/+3 |
| | | | | llvm-svn: 83232 | ||||
* | Fix up debug information for block pointers a bit more. | Mike Stump | 2009-10-02 | 1 | -1/+3 |
| | | | | llvm-svn: 83231 | ||||
* | Implement a FIXME. This improves codegen just a tad. | Mike Stump | 2009-10-01 | 1 | -2/+2 |
| | | | | llvm-svn: 83221 | ||||
* | Improve debugging information for BlockDeclRefExpr. WIP. Given this | Mike Stump | 2009-09-30 | 1 | -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 information | John McCall | 2009-09-25 | 1 | -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 the | John McCall | 2009-09-24 | 1 | -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 Stump | 2009-09-22 | 1 | -3/+3 |
| | | | | llvm-svn: 82512 | ||||
* | Improve debug info generation for __block variables. | Mike Stump | 2009-09-22 | 1 | -1/+133 |
| | | | | llvm-svn: 82508 |