summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Update and expand comment.Eric Christopher2012-09-191-2/+4
| | | | llvm-svn: 164254
* Handle a captured this for the debug information as well.Eric Christopher2012-09-191-0/+10
| | | | llvm-svn: 164253
* Fix awkward comment.Eric Christopher2012-09-191-1/+1
| | | | llvm-svn: 164252
* Reapply:Eric Christopher2012-09-121-4/+12
| | | | | | | | | | | Make clang emit a flag for DW_AT_object_pointer for the artificial args where it should (implicit first arguments). FileCheck-ize a test as well and update tests to take into account the object pointer flag. rdar://9797999 llvm-svn: 163755
* Revert "Make clang emit a flag for DW_AT_object_pointer for the artificial"Eric Christopher2012-09-121-12/+4
| | | | | | this should be done on the subprogram, not the variable. llvm-svn: 163733
* Make clang emit a flag for DW_AT_object_pointer for the artificialEric Christopher2012-09-121-4/+12
| | | | | | | | | | args where it should (implicit first arguments). FileCheck-ize a test as well and update tests to take into account the object pointer flag. rdar://9797999 llvm-svn: 163668
* Update comment and space.Eric Christopher2012-09-111-2/+2
| | | | llvm-svn: 163586
* The type of the self and cmd variables should be artificial. (NoteEric Christopher2012-09-111-2/+4
| | | | | | | | | that the types aren't artificial the args are, but this is currently represented by an artificial type.) Found by inspection. llvm-svn: 163585
* Dont cast away const needlessly. Found by gcc48 -Wcast-qual.Roman Divacky2012-09-061-1/+1
| | | | llvm-svn: 163325
* Normalize line endings of r163013 (part 2).Joao Matos2012-08-311-7/+7
| | | | llvm-svn: 163032
* Improved MSVC __interface support by adding first class support for it, ↵Joao Matos2012-08-311-7/+7
| | | | | | instead of aliasing to "struct" which had some incorrect behaviour. Patch by David Robins. llvm-svn: 163013
* Reapply:Eric Christopher2012-08-201-14/+28
| | | | | | | | | | | | | | | Author: Eric Christopher <echristo@apple.com> Date: Thu Aug 16 23:50:46 2012 +0000 Add some caching here for the builtin types. rdar://12117935 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162066 91177308-0d34-0410-b5e6-96231b3b80d8 after fixing a thinko. llvm-svn: 162243
* Reapply:Eric Christopher2012-08-171-6/+8
| | | | | | | | Make isa part of objc_object at metadata generation time. Noticed on inspection. llvm-svn: 162145
* Temporarily revert r162066 and r162062 to see if it brings the gdbEric Christopher2012-08-171-29/+15
| | | | | | bots back. llvm-svn: 162080
* Fix undefined behavior in debug info emission: operator* on WeakVH returns aRichard Smith2012-08-171-17/+24
| | | | | | | | reference, so &* on an empty WeakVH binds a reference to a dereferenced null pointer. So don't do that; we have a perfectly good implicit conversion to Value*. llvm-svn: 162079
* Add some caching here for the builtin types.Eric Christopher2012-08-161-15/+27
| | | | | | rdar://12117935 llvm-svn: 162066
* Make isa part of objc_object at metadata generation time.Eric Christopher2012-08-161-6/+8
| | | | | | Noticed on inspection. llvm-svn: 162062
* This is always going to be true so the cast isn't necessary.Eric Christopher2012-08-131-5/+3
| | | | llvm-svn: 161744
* If we don't have a complete type for the array type yet either thenEric Christopher2012-08-071-1/+4
| | | | | | | | just let the alignment be zero. PR13531 llvm-svn: 161379
* Remove some unintended changes from my last patch.Eric Christopher2012-08-071-3/+2
| | | | llvm-svn: 161369
* Make sure when we get the replacement type for a template argumentEric Christopher2012-08-071-5/+14
| | | | | | | | that we attach the lost qualifiers. Fixes rdar://11882155 llvm-svn: 161368
* Simplify code, no functionality change.Benjamin Kramer2012-08-041-6/+2
| | | | llvm-svn: 161303
* Fix the name of this variable.Eric Christopher2012-08-041-4/+4
| | | | llvm-svn: 161287
* Update comment to accurately reflect what should happen.Eric Christopher2012-08-041-1/+1
| | | | llvm-svn: 161286
* Temporarily revert this to see if it brings the gdb bot back.Eric Christopher2012-07-111-0/+4
| | | | llvm-svn: 160049
* The end of a block doesn't necessarily need a line table entry unlessEric Christopher2012-07-111-4/+0
| | | | | | | | | | there's something going on there. Remove the unconditional line entry and only add one if we're emitting cleanups (any other statements would be handled normally). Fixes rdar://9199234 llvm-svn: 160033
* Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used ↵Benjamin Kramer2012-07-041-1/+1
| | | | | | | | instead. No functionality change. llvm-svn: 159719
* Fix grammar.Eric Christopher2012-06-281-1/+1
| | | | llvm-svn: 159321
* Don't circumvent the debug info type cache when emitting info for ↵Benjamin Kramer2012-06-201-2/+3
| | | | | | | | | | | | EnumConstantDecl. CreateEnumType doesn't participate in caching so the descriptor for the enum gets recomputed for every reference of an element of an enum, only to get discarded when it gets turned into an MDNode. No functionality change except performance. llvm-svn: 158832
* Restructure how the driver communicates information about theJohn McCall2012-06-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. llvm-svn: 158793
* Remove unused variable.Bill Wendling2012-06-121-1/+0
| | | | llvm-svn: 158353
* [C++11 Compat] Fix breaking change in C++11 pair copyctor.Michael J. Spencer2012-06-081-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While this code is valid C++98, it is not valid C++11. The problem can be reduced to: class MDNode; class DIType { operator MDNode*() const {return 0;} }; class WeakVH { WeakVH(MDNode*) {} }; int main() { DIType di; std::pair<void*, WeakVH> p(std::make_pair((void*)0, di))); } This was not detected by any of the bots we have because they either compile C++98 with libstdc++ (which allows it), or C++11 with libc++ (which incorrectly allows it). I ran into the problem when compiling with VS 2012 RC. Thanks to Richard for explaining the issue. llvm-svn: 158245
* Plug a long standing memory leak in TemplateArgument.Benjamin Kramer2012-06-071-1/+1
| | | | | | | | | | | | | | | The integral APSInt value is now stored in a decomposed form and the backing store for large values is allocated via the ASTContext. This way its not leaked as TemplateArguments are never destructed when they are allocated in the ASTContext. Since the integral data is immutable it is now shared between instances, making copying TemplateArguments a trivial operation. Currently getting the integral data out of a TemplateArgument requires creating a new APSInt object. This is cheap when the value is small but can be expensive if it's not. If this turns out to be an issue a more efficient accessor could be added. llvm-svn: 158150
* Revert Decl's iterators back to pointer value_type rather than reference ↵David Blaikie2012-06-061-3/+3
| | | | | | | | | | | | | | value_type In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. llvm-svn: 158104
* Reapply "Only emit debug information for methods that are user defined, there's"Eric Christopher2012-06-051-2/+6
| | | | | | | | As the failing testcase has been fixed. This reverts commit 0637f407e6ee7fdccde17fbf9a5fcc4853187b3e. llvm-svn: 158009
* Revert "Only emit debug information for methods that are user defined, there's"John McCall2012-06-051-6/+2
| | | | | | | This reverts r157970, which was not passing on clang-x86_64-darwin10-nobootstrap-RA llvm-svn: 157983
* Only emit debug information for methods that are user defined, there'sEric Christopher2012-06-051-2/+6
| | | | | | | | | not much reason to emit for constructors and destructors that aren't user defined. rdar://11593099 llvm-svn: 157970
* Support C++11 enum forward declarations.Eric Christopher2012-06-011-1/+2
| | | | | | Part of rdar://11570854 llvm-svn: 157787
* Emit C++11 enum class information if it exists.Eric Christopher2012-05-231-1/+4
| | | | | | Part of rdar://11496790 llvm-svn: 157304
* Revert r115805. An array type is required to have a range type,Eric Christopher2012-05-211-18/+14
| | | | | | | | | | however, the range can be unknown for the upper bound. Testcase to follow. Part of rdar://11457152 llvm-svn: 157212
* Update API usage for llvm DIBuilder changes for rvalue referenceEric Christopher2012-05-191-4/+6
| | | | | | | | types and ensure we are actually creating the type. rdar://11479676 llvm-svn: 157095
* Remove unnecessary temporary.Eric Christopher2012-05-161-3/+1
| | | | llvm-svn: 156953
* The address of a vla is actually complex and requires a dereference.Eric Christopher2012-05-081-1/+18
| | | | | | Part of rdar://11352000 llvm-svn: 156407
* Whitespace.Eric Christopher2012-05-081-1/+0
| | | | llvm-svn: 156406
* Make BuiltinType::getName return a StringRef and introduce ↵Argyrios Kyrtzidis2012-05-051-1/+1
| | | | | | | | | | | | | BuiltinType::getNameAsCString to get a const char* if necessary. This avoids unnecessary conversions when we want to use the result of getName as a StringRef. Part of rdar://10796159 llvm-svn: 156227
* This patch adds a new Clang compiler flag "-gline-tables-only".Alexey Samsonov2012-05-041-17/+43
| | | | | | | | | | | | | | It reduces the amount of emitted debug information: 1) DIEs in .debug_info have types DW_TAG_compile_unit, DW_TAG_subprogram, DW_TAG_inlined_subroutine (for opt builds) and DW_TAG_lexical_block only. 2) .debug_str contains only function names. 3) No debug data for types/namespaces/variables is emitted. 4) The data in .debug_line is enough to produce valid stack traces with function names and line numbers. Reviewed by Eric Christopher. llvm-svn: 156160
* Remove the ref/value inconsistency in filter_decl_iterator.David Blaikie2012-04-301-3/+3
| | | | | | | | | | | | | filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) llvm-svn: 155808
* Use enum to set debug info size generated by ClangAlexey Samsonov2012-04-271-2/+2
| | | | llvm-svn: 155697
* Forward declarations should take a context. This helps the debuggerEric Christopher2012-04-231-7/+6
| | | | | | | | | find forward declarations in the context that the actual definition will occur. rdar://11291658 llvm-svn: 155381
* Avoid string thrashing when we can concatenate them in the final buffer.Benjamin Kramer2012-04-131-8/+8
| | | | llvm-svn: 154678
OpenPOWER on IntegriCloud