summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* If preprocessed token introduced empty filename then use main translation ↵Devang Patel2011-02-161-1/+1
| | | | | | unit's filename for debug info entries. llvm-svn: 125672
* Simplify test to check an aggregate argument that has non trivial ↵Devang Patel2011-02-161-15/+14
| | | | | | | | constructor or destructor. This patch rewrites r125142. llvm-svn: 125632
* Only c++ class arguments with non trivial constructor or destructor needs a ↵Devang Patel2011-02-151-1/+1
| | | | | | | | | reference. C struct arguments do not need this adjustment. This fixes 7 failures in callfuncs.exp from gdb testsuite. llvm-svn: 125615
* If an aggregate is returned as 'sret' argument then let debugger know about ↵Devang Patel2011-02-101-0/+6
| | | | | | this. llvm-svn: 125249
* Do not emit AT_MIPS_linkage_name for Objective-C method static variable i.Devang Patel2011-02-091-1/+2
| | | | llvm-svn: 125210
* Emit debug info for objc_selector.Devang Patel2011-02-091-0/+6
| | | | llvm-svn: 125163
* If an aggregate argument is passed indirectly because it has non trivialDevang Patel2011-02-091-3/+12
| | | | | | | | destructor or copy constructor than let debug info know about it. Radar 8945514. llvm-svn: 125142
* Reorganize CodeGen{Function,Module} to eliminate the unfortunateJohn McCall2011-02-081-0/+1
| | | | | | | | Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. llvm-svn: 125085
* A few more tweaks to the blocks AST representation: John McCall2011-02-071-11/+19
| | | | | | | | | | | | | | | | | - BlockDeclRefExprs always store VarDecls - BDREs no longer store copy expressions - BlockDecls now store a list of captured variables, information about how they're captured, and a copy expression if necessary With that in hand, change IR generation to use the captures data in blocks instead of walking the block independently. Additionally, optimize block layout by emitting fields in descending alignment order, with a heuristic for filling in words when alignment of the end of the block header is insufficient for the most aligned field. llvm-svn: 125005
* Emit debug info for template value parameters.Devang Patel2011-02-021-0/+7
| | | | llvm-svn: 124756
* Emit debug info for template type parameters.Devang Patel2011-02-021-1/+18
| | | | llvm-svn: 124753
* Debug info generation for rvalue referencesDouglas Gregor2011-01-221-6/+9
| | | | llvm-svn: 124020
* Change QualType::getTypePtr() to return a const pointer, then change aJohn McCall2011-01-191-4/+2
| | | | | | thousand other things which were (generally inadvertantly) relying on that. llvm-svn: 123814
* Simplify.Devang Patel2011-01-171-15/+9
| | | | llvm-svn: 123682
* Fix debug info for __block variable referenced outside of block.Devang Patel2011-01-111-1/+30
| | | | llvm-svn: 123199
* Introduce an AttributedType, but don't actually use it anywhere yet.John McCall2011-01-061-0/+3
| | | | | | | | | | The initial TreeTransform is a cop-out, but it's more-or-less equivalent to what we were doing before, or rather what we're doing now and might eventually stop doing in favor of using this type. I am simultaneously intrigued by the possibilities of rebuilding a dependent Attri llvm-svn: 122942
* Added ParenType type node.Abramo Bagnara2010-12-101-0/+4
| | | | llvm-svn: 121488
* It's kindof silly that ExtQuals has an ASTContext&, and we can use thatJohn McCall2010-12-101-1/+1
| | | | | | | | | | space better. Remove this reference. To make that work, change some APIs (most importantly, getDesugaredType()) to take an ASTContext& if they need to return a QualType. Simultaneously, diminish the need to return a QualType by introducing some useful APIs on SplitQualType, which is just a std::pair<const Type *, Qualifiers>. llvm-svn: 121478
* Remove unused parameter. getContextDescriptor() and getOrCreateNameSpace().Devang Patel2010-12-091-15/+13
| | | | llvm-svn: 121333
* Remove unused parameter.Devang Patel2010-12-091-3/+2
| | | | llvm-svn: 121326
* Start using DIBuilder. It provides cleaner interface.Devang Patel2010-12-081-344/+237
| | | | llvm-svn: 121302
* Harden CGDebugInfo::CreateType() a bit for cases where we couldn't generate ↵Douglas Gregor2010-11-301-1/+9
| | | | | | type info for its component types llvm-svn: 120401
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120297
* Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual.Anders Carlsson2010-11-241-1/+1
| | | | llvm-svn: 120133
* Refactoring of Diagnostic class.Argyrios Kyrtzidis2010-11-181-1/+1
| | | | | | | | | | | -Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class. -DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units. -The rest of the state in Diagnostic object is considered related and tied to one translation unit. -Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a SourceLocation instead of a FullSourceLoc. -Reflect the changes to various interfaces. llvm-svn: 119730
* Teach debug-info generation that SourceManager::getPresumedLoc() canDouglas Gregor2010-11-111-7/+9
| | | | | | | produce an invalid location even when given a valid location, if the file system has changed underneath us. Recovery more gracefully. llvm-svn: 118834
* Remove broken support for variadic templates, along with the variousDouglas Gregor2010-11-071-2/+2
| | | | | | | | | | | | | abstractions (e.g., TemplateArgumentListBuilder) that were designed to support variadic templates. Only a few remnants of variadic templates remain, in the parser (parsing template type parameter packs), AST (template type parameter pack bits and TemplateArgument::Pack), and Sema; these are expected to be used in a future implementation of variadic templates. But don't get too excited about that happening now. llvm-svn: 118385
* Simplify. Builtin types' context is always implied.Devang Patel2010-11-011-12/+13
| | | | llvm-svn: 117928
* Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a ↵Anders Carlsson2010-10-311-1/+1
| | | | | | getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. llvm-svn: 117881
* After processing named unions do not fall through to handle anonymous unions.Devang Patel2010-10-291-0/+1
| | | | | | This is tested by funcargs.exp in gdb testsuite. llvm-svn: 117659
* Basic types are language defined builtins. They are always defined at top ↵Devang Patel2010-10-281-6/+10
| | | | | | most level. llvm-svn: 117613
* Directly use NamespaceDecl->getLocation() to find the source file.Devang Patel2010-10-281-3/+2
| | | | llvm-svn: 117576
* Stay within 80 columns.Devang Patel2010-10-281-10/+13
| | | | llvm-svn: 117561
* Fix context info for enums.Devang Patel2010-10-271-2/+4
| | | | | | Radar 8595129 llvm-svn: 117507
* Revert unintentional check-in.Devang Patel2010-10-221-1/+1
| | | | llvm-svn: 117120
* Tidy up MIPS_linkage name. Provide it only if it does not match regular ↵Devang Patel2010-10-221-5/+18
| | | | | | | | name, otherwise it confuses debugger. This is tested by local.C in llvmgcc testsuite. llvm-svn: 117107
* patch fixes class names missing from method names in debug information for Fariborz Jahanian2010-10-181-0/+2
| | | | | | synthesized property. // rdar: //8498026 llvm-svn: 116717
* Use root non-virtual primary base class, not just immediate primary base ↵Devang Patel2010-10-141-1/+11
| | | | | | | | class, for AT_containing_type. This is tested by virtfunc.exp in gdb testsuite. llvm-svn: 116535
* Fix debug info for anon union. Devang Patel2010-10-121-12/+45
| | | | | | This is tested by anon-union.exp. llvm-svn: 116372
* Fixes a typo which caused byte offset in debug info Fariborz Jahanian2010-10-111-1/+1
| | | | | | for ivars to be 0. Fixes pr8353. llvm-svn: 116273
* Fix debug info for functions whose context is a namespace.Devang Patel2010-10-111-2/+6
| | | | | | This is tested by namespace.exp in gdb testsuite. llvm-svn: 116248
* Permit constant evaluation of const floating-point variables withJohn McCall2010-10-091-1/+1
| | | | | | constant initializers. llvm-svn: 116138
* Identify functions with prototype appropriately in debug info. Devang Patel2010-10-071-1/+7
| | | | | | This is tested by callfuncs.exp in gdb testsuite. llvm-svn: 115989
* Mark FunctionNoProtoType's argument as unspecified parameters.Devang Patel2010-10-061-3/+3
| | | | llvm-svn: 115834
* Do not emit subrange for incomplete array type.Devang Patel2010-10-061-7/+11
| | | | | | This is tested by ptype.exp in gdb testsuite. llvm-svn: 115805
* Remove unused argument.Devang Patel2010-10-061-2/+1
| | | | llvm-svn: 115789
* Mark explict methods as explict in debug info.Devang Patel2010-10-011-1/+9
| | | | llvm-svn: 115379
* Output debug info. for ivars declared in classFariborz Jahanian2010-10-011-3/+2
| | | | | | | extension and implementation. Fixes rdar://8493239. llvm-svn: 115248
* Introduce -flimit-debug-info.Devang Patel2010-09-301-6/+46
| | | | | | In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress. llvm-svn: 115188
* Attach aritifical attribute with implicit parameters.Devang Patel2010-09-291-3/+6
| | | | | | Radar 8493141. llvm-svn: 115104
OpenPOWER on IntegriCloud