Commit Graph

227 Commits

Author SHA1 Message Date
Devang Patel 408dcf60aa Start using DIFile. Corresponding llvm patch is r98020.
llvm-svn: 98021
2010-03-09 00:44:50 +00:00
Devang Patel d3cbaa1ddf Avoid using DIDescriptor.isNull().
llvm-svn: 97976
2010-03-08 20:53:17 +00:00
Devang Patel 9cf2705a5d Revert r97949.
llvm-svn: 97964
2010-03-08 19:20:58 +00:00
Devang Patel 4ce8ebb087 Avoid DIDescriptor.isNull() checks.
llvm-svn: 97949
2010-03-08 18:26:57 +00:00
Sanjiv Gupta 9ac3092d34 Targets (like pic16) may have mangled the name of global variables,
so get the name from Var rather than the original decl.

llvm-svn: 97114
2010-02-25 05:20:44 +00:00
Devang Patel b407338fe2 Emit debug info for VectorType.
llvm-svn: 96999
2010-02-23 22:59:39 +00:00
Devang Patel 7585580ccc Distinguish two lexical blocks at the same level.
llvm-svn: 96397
2010-02-16 21:41:20 +00:00
Devang Patel f4df65cf60 Do not ignore anonymous records.
llvm-svn: 95953
2010-02-12 01:31:06 +00:00
Devang Patel e003dd1721 Cache new compile unit.
llvm-svn: 95952
2010-02-12 01:30:31 +00:00
Douglas Gregor 0a5a2216e2 Eliminate the ASTContext parameter from RecordDecl::getDefinition()
and CXXRecordDecl::getDefinition(); it's totally unnecessary. No
functionality change.

llvm-svn: 95836
2010-02-11 01:04:33 +00:00
Devang Patel 535fdaf020 Refactor code that generates debug info for variables that has BlocksAttr.
llvm-svn: 95786
2010-02-10 18:49:08 +00:00
Devang Patel 1b5330afe9 Use current location as the location of compiler generated arguments, e.g. self, _cmd etc.
llvm-svn: 95743
2010-02-10 01:09:50 +00:00
Devang Patel 0ae70d16b8 Fix virtual bases' debug info.
llvm-svn: 95678
2010-02-09 19:09:28 +00:00
Devang Patel cce7e85165 Mark implicit "this" argument as an artificial argument.
llvm-svn: 95673
2010-02-09 17:57:50 +00:00
Devang Patel ab793231c1 Fix FIXME and surrounding comment.
llvm-svn: 95023
2010-02-01 22:51:29 +00:00
Devang Patel e8fb4b7fd6 Use appropriate context descriptor in RecordDecl's debug info.
llvm-svn: 95016
2010-02-01 22:40:08 +00:00
Devang Patel 3efd1470c9 Do not use clang type name to name a local variable, e.g. Decl.
llvm-svn: 95010
2010-02-01 21:52:22 +00:00
Devang Patel 1c0954cca7 Do not use clang type name to name a local variable, e.g. Decl.
llvm-svn: 95009
2010-02-01 21:39:52 +00:00
Devang Patel 7b7f46f5a6 Use DeclContext as getContextDescriptor() argument.
llvm-svn: 95008
2010-02-01 21:34:11 +00:00
Devang Patel 973f2eb0cd Emit debug info for namespaces.
llvm-svn: 94991
2010-02-01 19:16:32 +00:00
Devang Patel bb4820dc8e Use appropriate context for typedefs.
llvm-svn: 94849
2010-01-29 22:29:31 +00:00
Devang Patel 92e2541599 Maintain a map of regions (lexical scopes) and use it to find context for a global variable.
llvm-svn: 94817
2010-01-29 18:11:03 +00:00
Devang Patel 7bfc596fcf s/CGDebugInfo::getContext/CGDebugInfo::getContextDescriptor/g to avoid confusion.
llvm-svn: 94760
2010-01-28 23:15:27 +00:00
Devang Patel 128aa9d176 Fix indentation.
llvm-svn: 94758
2010-01-28 21:54:15 +00:00
Devang Patel 4c3e7e99ca Static methods do not need "this" pointer argument.
llvm-svn: 94756
2010-01-28 21:43:50 +00:00
Devang Patel 946edc1aa6 Emit base classes info first, as expected by the debugger.
llvm-svn: 94755
2010-01-28 21:41:35 +00:00
Devang Patel 0d61eebd81 s/FunctionNames/DebugInfoNames/g
llvm-svn: 94753
2010-01-28 18:21:00 +00:00
Devang Patel 84033fb240 Emit vtable info.
llvm-svn: 94751
2010-01-28 18:11:52 +00:00
Devang Patel abb4413728 While emitting debugging infor for a C++ class, identify the holder of class's vtable, if any.
llvm-svn: 94712
2010-01-28 00:54:21 +00:00
Devang Patel 3d4e6d9dd0 Include "this" pointer argument while emitting debug info for a C++ method.
llvm-svn: 94710
2010-01-28 00:28:01 +00:00
Ken Dyck 160146eba2 Change the return type of ASTContext::getDeclAlignInBytes() to CharUnits and,
now that the "InBytes" part of the name is implied by the return type, rename
it to getDeclAlign().

llvm-svn: 94681
2010-01-27 17:10:57 +00:00
Anders Carlsson 0b5f1ddf0a Fix another debug info crash with virtual bases.
llvm-svn: 94520
2010-01-26 05:26:39 +00:00
Anders Carlsson 17ed0496c5 Fix the test I broke, and also fix a crash when declaring a virtual destructor. Add debug info support for pure virtual member functions.
llvm-svn: 94519
2010-01-26 05:19:50 +00:00
Anders Carlsson b85f0ab976 Factor creating the DISubprogram for a member function out into a separate function.
llvm-svn: 94513
2010-01-26 04:49:33 +00:00
Anders Carlsson c1821155bf Simplify CGDebugInfo::CollectCXXMemberFunctions a little. More to come.
llvm-svn: 94511
2010-01-26 04:40:11 +00:00
Devang Patel c54353d935 First cut at emitting inheritance info.
llvm-svn: 94473
2010-01-25 23:32:18 +00:00
Devang Patel 7af03fb4f0 Emit debug info for virtual functions.
llvm-svn: 94467
2010-01-25 23:17:15 +00:00
Chris Lattner 83b0dd16c3 fix rdar://7556129 a crash in blocks debug info codegen.
llvm-svn: 94402
2010-01-25 03:34:56 +00:00
Chris Lattner bf78478d35 simplify code.
llvm-svn: 94401
2010-01-25 03:29:35 +00:00
Benjamin Kramer 8f8f405c71 No need to terminate this buffer.
llvm-svn: 94313
2010-01-23 18:16:07 +00:00
Devang Patel 3f4a77e082 A Decl->getName() is not unique. However, the debug info descriptors
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
2010-01-20 23:56:40 +00:00
Devang Patel 5e1a83c196 Emit human readable names for operators.
llvm-svn: 93837
2010-01-19 02:02:11 +00:00
Devang Patel 7a12ad0dc1 First cut at emitting debugging information for C++ member functions.
There is lot more work to do in this area.

llvm-svn: 93836
2010-01-19 01:54:44 +00:00
Devang Patel 757daca99c Use llvm::Function name as the linkage name, but strip off leading '01' from display name.
llvm-svn: 93822
2010-01-19 00:25:12 +00:00
Devang Patel 889ce76f41 Refactor.
llvm-svn: 93814
2010-01-19 00:00:59 +00:00
Devang Patel ddf6a57f3e llvm::Function name is the linkage name. If it has a '01' as a prefix then probably there is a reason.
llvm-svn: 93808
2010-01-18 23:27:28 +00:00
Eli Friedman 8fdc2cb46a Fix crash generating debug info for constructor for anonymous struct.
llvm-svn: 93601
2010-01-16 00:43:13 +00:00
Devang Patel 2d63010a9c Emit linkage name even if it matches regular name. The code generator uses linkage name to find subprogram entry for the current function.
llvm-svn: 93461
2010-01-14 21:46:57 +00:00
Devang Patel ea84f59f5c Add comment.
llvm-svn: 93434
2010-01-14 18:06:13 +00:00
Devang Patel 4274a326be Because CurLoc is the current source location as far as CGDebugInfo is concerned. It is expected that this is set (usually left bracket location of function body compound statement) before EmitfunctionStart() is used.
llvm-svn: 93389
2010-01-14 00:48:09 +00:00