summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Renamed ASQualType to ExtQualType to reflect its moreFariborz Jahanian2009-02-171-1/+1
| | | | | | | general use; as for, objc2's gc type attributes. No change in functionality. llvm-svn: 64778
* When making dummy file entries, the directory name should also beDaniel Dunbar2009-02-071-1/+1
| | | | | | non-empty. llvm-svn: 63986
* lower the interface to getLineNumber like we did forChris Lattner2009-02-041-1/+2
| | | | | | | | getColumnNumber. This fixes a FIXME in SourceManager::getPresumedLoc because we now just decompose the sloc once. llvm-svn: 63701
* fix PR3427: fix debuginfo for incomplete array typesNuno Lopes2009-01-281-2/+5
| | | | llvm-svn: 63158
* Allow creation of "dummy" compile units for debug information.Daniel Dunbar2009-01-221-10/+13
| | | | | | | | - Although gross, this is needed currently to ensure that we produce well formed debug information (to match pace with the assertions being added to DebugInfo in LLVM). llvm-svn: 62734
* Update for new SourceLocation API.Daniel Dunbar2009-01-201-0/+1
| | | | llvm-svn: 62556
* Rename SourceManager::getCanonicalFileID -> getFileID. There isChris Lattner2009-01-191-1/+1
| | | | | | no longer such thing as a non-canonical FileID. llvm-svn: 62499
* remove the SourceManager:: and FullSourceLoc::getFileEntryForLoc methods.Chris Lattner2009-01-191-1/+1
| | | | llvm-svn: 62496
* more SourceLocation lexicon change: instead of referring to theChris Lattner2009-01-161-12/+12
| | | | | | "logical" location, refer to the "instantiation" location. llvm-svn: 62316
* Generate debug info for VLA typesAnders Carlsson2009-01-051-3/+14
| | | | llvm-svn: 61661
* Actually distinguish between RecordDecl::field_iterator and ↵Douglas Gregor2008-12-111-3/+4
| | | | | | RecordDecl::field_const_iterator, propagating the constness down to the FieldDecls. llvm-svn: 60883
* Unifies the name-lookup mechanisms used in various parts of the ASTDouglas Gregor2008-12-111-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and separates lexical name lookup from qualified name lookup. In particular: * Make DeclContext the central data structure for storing and looking up declarations within existing declarations, e.g., members of structs/unions/classes, enumerators in C++0x enums, members of C++ namespaces, and (later) members of Objective-C interfaces/implementations. DeclContext uses a lazily-constructed data structure optimized for fast lookup (array for small contexts, hash table for larger contexts). * Implement C++ qualified name lookup in terms of lookup into DeclContext. * Implement C++ unqualified name lookup in terms of qualified+unqualified name lookup (since unqualified lookup is not purely lexical in C++!) * Limit the use of the chains of declarations stored in IdentifierInfo to those names declared lexically. * Eliminate CXXFieldDecl, collapsing its behavior into FieldDecl. (FieldDecl is now a ScopedDecl). * Make RecordDecl into a DeclContext and eliminates its Members/NumMembers fields (since one can just iterate through the DeclContext to get the fields). llvm-svn: 60878
* Convert incomplete array types before emitting debug info for them, fixes ↵Anders Carlsson2008-11-261-2/+15
| | | | | | PR3134. llvm-svn: 60109
* Rename NamedDecl::getName() to getNameAsString(). Replace a bunch of Chris Lattner2008-11-241-2/+2
| | | | | | | | | | | uses of getName() with uses of getDeclName(). This upgrades a bunch of diags to take DeclNames instead of std::strings. This also tweaks a couple of diagnostics to be cleaner and changes CheckInitializerTypes/PerformInitializationByConstructor to pass around DeclarationNames instead of std::strings. llvm-svn: 59947
* Rename NamedDecl::getIdentifierName() to ::getNameAsCString() and make itChris Lattner2008-11-241-9/+7
| | | | | | | | | assert if the name is not an identifier. Update callers to do the right thing and avoid this method in unsafe cases. This also fixes an objc warning that was missing a space, and migrates a couple more to taking IdentifierInfo and QualTypes instead of std::strings. llvm-svn: 59936
* Introduction the DeclarationName class, as a single, general method ofDouglas Gregor2008-11-171-5/+6
| | | | | | | | representing the names of declarations in the C family of languages. DeclarationName is used in NamedDecl to store the name of the declaration (naturally), and ObjCMethodDecl is now a NamedDecl. llvm-svn: 59441
* implement debug info for typeof()Chris Lattner2008-11-111-6/+9
| | | | llvm-svn: 59032
* Fix even more bugs in debug info support:Chris Lattner2008-11-101-5/+0
| | | | | | | | | 1. emit proper debug info for forward decls of structs. 2. emit DW_TAG_member nodes around members of a field like llvm-gcc does. This slows down debug info generation, but is required for correctness. llvm-svn: 58973
* reimplement debug info generation in terms of DebugInfo.h instead ofChris Lattner2008-11-101-638/+371
| | | | | | | using MachineModuleInfo. This runs at about the same speed as the old code, but fixes a bunch of bugs and is simpler and shorter. llvm-svn: 58971
* Avoid redundant cast<>s / simplify type dispatch.Daniel Dunbar2008-11-081-39/+28
| | | | llvm-svn: 58892
* "Fix" PR3021, don't crash on generating record types when we can'tDaniel Dunbar2008-11-081-2/+6
| | | | | | generate the type of a member. llvm-svn: 58889
* Move IRBuilder type definition to common file.Daniel Dunbar2008-11-011-6/+5
| | | | | | - No functionality change. llvm-svn: 58546
* Debug info: Bug fix, function types should always include the returnDaniel Dunbar2008-10-311-1/+1
| | | | | | type. llvm-svn: 58497
* Quick fix for PR2950, infinite loop generating debug info forDaniel Dunbar2008-10-311-16/+19
| | | | | | | recursive types. - Style will be clean up in further patches. llvm-svn: 58490
* Formatting tweaks.Daniel Dunbar2008-10-311-9/+8
| | | | | | - No functionality change. llvm-svn: 58488
* Don't crash on invalid source locations inDaniel Dunbar2008-10-241-3/+6
| | | | | | CGDebugInfo::getOrCreateCompileUnit. llvm-svn: 58081
* Map compilation units using FileEntry pointers instead ofDaniel Dunbar2008-10-241-10/+7
| | | | | | | | | FileIDs. This seems better conceptually and lets the SourceManager handle details of mapping the location to a file ID. - In practice, fixes an assert because this code wasn't using getPhysicalLoc. llvm-svn: 58055
* Debug info bug fix, function start wasn't getting generated correctlyDaniel Dunbar2008-10-181-5/+5
| | | | | | for Obj-C methods. llvm-svn: 57769
* Change CGDebugInfo::setLocation to just ignore invalid locations. ThisDaniel Dunbar2008-10-171-1/+5
| | | | | | | | | simplifies clients. Also, add assert that RegionStack is empty when the CGDebugInfo is destroyed. llvm-svn: 57684
* Quick patch for PR2784, assert genereting debug info for opaqueDaniel Dunbar2008-10-171-1/+9
| | | | | | | | | | structure. - I'm not sure yet about the behavior, but this at least prevents the crash. Add some asserts on RegionStack usage. llvm-svn: 57661
* More #include cleaningDaniel Dunbar2008-08-111-0/+2
| | | | | | | | - Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and SourceLocation.h) - Move ASTContext constructor into implementation llvm-svn: 54627
* update to make IRBuilder API change.Chris Lattner2008-08-081-5/+6
| | | | llvm-svn: 54548
* Finally fix PR2189. This makes a fairly invasive but important change toChris Lattner2008-08-041-7/+5
| | | | | | | | | | move getAsArrayType into ASTContext instead of being a method on type. This is required because getAsArrayType(const AT), where AT is a typedef for "int[10]" needs to return ArrayType(const int, 10). Fixing this greatly simplifies getArrayDecayedType, which is a good sign. llvm-svn: 54317
* Remove removed header.Bill Wendling2008-07-031-1/+0
| | | | llvm-svn: 53121
* Add missing include file (due to a file splitting in llvm).Cedric Venet2008-06-271-0/+1
| | | | | | | Add new file to Sema Project for VS. this unbreak the build for VS2005 (with the associated patch on llvm). llvm-svn: 52830
* Remove tabs.Mike Stump2008-06-191-2/+2
| | | | llvm-svn: 52507
* Generate debug descriptors for array types while generating the debug info.Sanjiv Gupta2008-06-091-3/+59
| | | | llvm-svn: 52140
* fix compiler warningsNuno Lopes2008-06-081-2/+2
| | | | llvm-svn: 52089
* Create debug type descriptors for aggregate/enum types.Sanjiv Gupta2008-06-071-5/+122
| | | | llvm-svn: 52070
* Emit debug information for global and static variables when -g is specified.Sanjiv Gupta2008-06-051-0/+46
| | | | llvm-svn: 51993
* Emit parameter and local variable debug information with -g.Sanjiv Gupta2008-05-301-1/+48
| | | | llvm-svn: 51765
* A couple minor fixes to make debug info usable for arbitrary code: don't Eli Friedman2008-05-291-0/+7
| | | | | | | | emit incomplete types, because they crash llc, and always use the logical location as the current location so we don't crash doing invalid queries on CurLoc. llvm-svn: 51675
* Generate subprogram debug info with -g.Sanjiv Gupta2008-05-251-48/+361
| | | | | | Also take care of freeing memory at the right places. llvm-svn: 51553
* Make debugging information usable. This is barebones, but it makes -g Eli Friedman2008-05-221-21/+51
| | | | | | | | | | | | | | actually work (instead of crashing llc), and there's enough info emitted to get line number information in gdb. This should hopefully be helpful for debugging non-working programs. I got rid of the begin/endregion calls because the implementation wasn't working; someone who knows the debugging info a bit better might try to add it. I really have no clue how a compiler is supposed to emit them. This commit shouldn't have any effect without -g. llvm-svn: 51404
* Detabify.Eli Friedman2008-05-131-7/+7
| | | | llvm-svn: 51042
* Added -g command line options to clang for generating source level debug ↵Sanjiv Gupta2008-05-081-0/+171
information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo. llvm-svn: 50848
OpenPOWER on IntegriCloud