summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Streamify getNameForDiagnostic and remove the string versions of ↵Benjamin Kramer2013-02-221-9/+15
| | | | | | PrintTemplateArgumentList. llvm-svn: 175894
* Fix formatting and tabs in file.Eric Christopher2013-02-211-26/+25
| | | | llvm-svn: 175815
* Patch for debug info of qualified-id types is 'id'Fariborz Jahanian2013-02-211-2/+8
| | | | | | By Adrian Pranti. llvm-svn: 175793
* Add OpenCL samplers as Clang builtin types and check sampler related ↵Guy Benyei2013-02-071-0/+5
| | | | | | restrictions. llvm-svn: 174601
* Revert r174246, accidentally committed.David Blaikie2013-02-021-9/+0
| | | | | | This reverts commit 1513eb9284c23acfd19cf742b95996fbb11ca741. llvm-svn: 174249
* BasicsDavid Blaikie2013-02-021-0/+9
| | | | llvm-svn: 174246
* Fix exception handling line table problems introduced by r173593David Blaikie2013-02-011-1/+3
| | | | | | | | | | | | | r173593 made us a little too eager to associate all code at the end of a function with the user-written 'return' line. This caused problems with breakpoints as they'd be set in exception handling code preceeding the actual non-exception return handling code, leading to the breakpoint never being hit in non-exceptional execution. This change restores the pre-r173593 exception handling line information where the cleanup code is associated with the '}' not the return line. llvm-svn: 174206
* PR14566: Debug Info: avoid top level lexical blocks in functionsDavid Blaikie2013-01-261-1/+1
| | | | | | | | | | | | | | | One of the gotchas (see changes to CodeGenFunction) was due to the fix in r139416 (for PR10829). This only worked previously because the top level lexical block would set the location to the end of the function, the debug location would be updated (as per r139416), the location would be set to the end of the function again (but that would no-op, since it was the same as the previous location), then the return instruction would be emitted using the debug location. Once the top level lexical block was no longer emitted, the end-of-function location change was causing the debug loc to be updated, regressing that bug. llvm-svn: 173593
* CGDebugInfo.cpp: Fix a warning. [-Wunused-variable]NAKAMURA Takumi2013-01-211-0/+1
| | | | llvm-svn: 173022
* PR14472: Preserve qualifiers while unwrapping types for debug infoDavid Blaikie2013-01-211-14/+9
| | | | | | | | | | Looks like r161368 fixed this for one case but not all. This change generalizes the solution over all the unwrapping cases. Now that preserving the qualifiers is done independent of the particular type being unwrapped I won't bother adding test cases for each one but at least demonstrate that this change was necessary & sufficient to fix the bug. llvm-svn: 173002
* Implement OpenCL event_t as Clang builtin type, including event_t related ↵Guy Benyei2013-01-201-0/+3
| | | | | | OpenCL restrictions (OpenCL 1.2 spec 6.9) llvm-svn: 172973
* The last of PR14471: Debug info support for inline in-class initializer for ↵David Blaikie2013-01-201-4/+8
| | | | | | float static members llvm-svn: 172942
* Emit the function type of member function pointer types the same as member ↵David Blaikie2013-01-191-2/+9
| | | | | | | | | | | | functions. Adding the pseudo first parameter to a member function pointer's function type and mark it as artificial. Combined with a fix to GDB ( http://sourceware.org/bugzilla/show_bug.cgi?id=14998 ) this fixes gdb.cp/member-ptr.exp with Clang. llvm-svn: 172911
* Collect both normal and static data members of a class in sourceEric Christopher2013-01-161-105/+155
| | | | | | | | | | order. Describe static data members to metadata using new interfaces. Part of PR14471. Patch by Paul Robinson! llvm-svn: 172591
* Extract the instance-method case for debug info out into a separate function.David Blaikie2013-01-071-10/+10
| | | | | | | | | | This is in preparation for using this to construct the function type for pointers to member functions to include the implicit/artificial 'this' parameter in that case as well. (feedback from GDB indicates that this might be all that's necessary to get it to behave well with Clang's pointer-to-member function debug output) llvm-svn: 171809
* Simplify computing debug info type for static member functions.David Blaikie2013-01-071-26/+27
| | | | | | No (intended) functional change. llvm-svn: 171800
* PR14759: Improve/correct support for debug info for C++ member pointers.David Blaikie2013-01-071-32/+2
| | | | | | | | | | Using added LLVM functionality in r171698. This works in GDB for member variable pointers but not member function pointers. See the LLVM commit and GDB bug 14998 for details. Un-xfailing cases in the GDB 7.5 test suite will follow. llvm-svn: 171699
* PR14573: Unnamed parameters in debug info, Part 2David Blaikie2013-01-051-2/+2
| | | | | | | | Catch some cases I'd missed in r171605 related to unnamed parameters of record type. This resolves all remaining cases of PR14573 suppression in the GDB 7.5 test suite. Fix to the test suite to follow. llvm-svn: 171633
* Emit debug info for unnamed parameters.David Blaikie2013-01-051-17/+15
| | | | | | LLVM ignores this data for now - patch for that to follow. llvm-svn: 171605
* Fix fieldNo usage for lambdas. No behavior change since theEric Christopher2013-01-041-2/+2
| | | | | | field number was 0 anyhow. llvm-svn: 171472
* Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate toChandler Carruth2013-01-021-6/+6
| | | | | | | | reflect the migration in r171366. Re-sort the #include lines to reflect the new paths. llvm-svn: 171369
* Re-commit r170428 changes with Linux style file endings.Guy Benyei2012-12-181-0/+32
| | | | | | Add OpenCL images as clang builtin types. llvm-svn: 170432
* Revert changes from r170428, as I accidentally changed the line endings of ↵Guy Benyei2012-12-181-2834/+2802
| | | | | | these files to Windows style. llvm-svn: 170431
* Add OpenCL images as clang builtin types.Guy Benyei2012-12-181-2802/+2834
| | | | llvm-svn: 170428
* Debug Info: Emit vtables pointer members as artificial.David Blaikie2012-12-131-1/+1
| | | | | | | | | | | | I wasn't sure where to put the test case for this, but this seemed like as good a place as any. I had to reorder the tests here to make them legible while still matching the order of metadata output in the IR file (for some reason making it virtual changed the ordering). Relevant commit to fix up LLVM to actually respect 'artificial' member variables is coming once I write up a test case for it. llvm-svn: 170154
* Use the 'count' attribute to calculate the upper bound of an array.Bill Wendling2012-12-041-26/+9
| | | | | | | | | The count attribute is more accurate with regards to the size of an array. It also obviates the upper bound attribute in the subrange. We can also better handle an unbound array by setting the count to -1 instead of the lower bound to 1 and upper bound to 0. llvm-svn: 169311
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-6/+6
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* Add a 'count' field to the DWARF subrange.Bill Wendling2012-12-041-5/+18
| | | | | | | | | The count field is necessary because there isn't a difference between the 'lo' and 'hi' attributes for a one-element array and a zero-element array. When the count is '0', we know that this is a zero-element array. When it's >=1, then it's a normal constant sized array. When it's -1, then the array is unbounded. llvm-svn: 169219
* objective-C blocks: Make sure that identical logic is usedFariborz Jahanian2012-11-281-2/+2
| | | | | | | | | | in deciding a copy/dispose field is needed in a byref structure and when generating the copy/dispose helpers. In certain cases, these fields were being added but no copy/dispose was being generated. This was uncovered in ARC, but not in MRR. // rdar://12759433 llvm-svn: 168825
* A step towards sorting out handling of triviality of special members in C++11.Richard Smith2012-11-161-1/+1
| | | | | | | | | | | | | | Separate out the notions of 'has a trivial special member' and 'has a non-trivial special member', and use them appropriately. These are not opposites of one another (there might be no special member, or in C++11 there might be a trivial one and a non-trivial one). The CXXRecordDecl predicates continue to produce incorrect results, but do so in fewer cases now, and they document the cases where they might be wrong. No functionality changes are intended here (they will come when the predicates start producing the right answers...). llvm-svn: 168119
* Use empty parens for empty function parameter list instead of '(void)'.Dmitri Gribenko2012-11-151-1/+1
| | | | llvm-svn: 168041
* Fix 80-column violation.Fariborz Jahanian2012-11-141-3/+5
| | | | llvm-svn: 167932
* objective-C blocks: Provide layout map for byrefFariborz Jahanian2012-11-141-0/+6
| | | | | | variables captured in a block. // rdar://12184410 llvm-svn: 167931
* Revert "Use the 'count' attribute instead of the 'upper_bound' attribute."Eric Christopher2012-11-131-12/+9
| | | | | | | | temporarily since it breaks the gdb bots. This reverts commit r167807/30305bec25cac981c6d4a3b8be004401310a82a7. llvm-svn: 167887
* Use the 'count' attribute instead of the 'upper_bound' attribute.Bill Wendling2012-11-131-9/+12
| | | | | | | | | If we have a type 'int a[1]' and a type 'int b[0]', the generated DWARF is the same for both of them because we use the 'upper_bound' attribute. Instead use the 'count' attrbute, which gives the correct number of elements in the array. <rdar://problem/12566646> llvm-svn: 167807
* Put something sane in the DWARF offset field for bitfield ObjC ivars.Eli Friedman2012-11-061-6/+16
| | | | | | | | | This is useful because unnamed bitfields can have effects on the offsets which are not otherwise reflected in the DWARF information. <rdar://problem/12629719> llvm-svn: 167503
* Emit debug info for C++ struct definitions as DW_TAG_structure_type (instead ↵David Blaikie2012-11-021-4/+2
| | | | | | of class_type). llvm-svn: 167336
* Fix debug tag type of forward declarations of struct/class in C++.David Blaikie2012-11-021-10/+6
| | | | llvm-svn: 167308
* Simplify: replace getContext().getLangOpts() with just getLangOpts().Richard Smith2012-11-011-2/+2
| | | | llvm-svn: 167261
* Initialize debug info for special cases of functions that lack declarations ↵Alexey Samsonov2012-10-251-6/+16
| | | | | | and are generated by Clang (global initializers/destructors, thunks) . Fixes PR13942. llvm-svn: 166676
* Switch CodeGenOptions over to a .def file, like we do with LangOptions.Douglas Gregor2012-10-231-15/+15
| | | | llvm-svn: 166497
* Fix up comment and invert order. Most simple check first.Eric Christopher2012-10-181-4/+6
| | | | llvm-svn: 166240
* Add a new option for and disable column number information as thereEric Christopher2012-10-181-0/+2
| | | | | | | | | | are no known current users of column info. Robustify and fix up a few tests in the process. Reduces the size of debug information by a small amount. Part of PR14106 llvm-svn: 166236
* Revert r158009 since there are some uses of artificial functions inEric Christopher2012-10-171-6/+2
| | | | | | debug info. llvm-svn: 166109
* Make -mms-bitfields behave consistently.Eli Friedman2012-10-121-1/+1
| | | | | | Patch by Jeremiah Zanin. llvm-svn: 165849
* Add in the first iteration of support for llvm/clang/lldb to allow variable ↵Micah Villmow2012-10-111-1/+1
| | | | | | per address space pointer sizes to be optimized correctly. llvm-svn: 165726
* Move TargetData to DataLayout.Micah Villmow2012-10-081-3/+3
| | | | llvm-svn: 165395
* Make sure to generate the right kind of MDNode for enum forward declarations.Eli Friedman2012-10-051-9/+22
| | | | | | PR14029, clang part. llvm-svn: 165289
* Mark the passed in "self" for a block as an object pointer soEric Christopher2012-09-211-3/+9
| | | | | | | | | that the backend can mark it as the representative pointer for the block. rdar://12001329 llvm-svn: 164418
* Grammar.Eric Christopher2012-09-191-1/+1
| | | | llvm-svn: 164260
OpenPOWER on IntegriCloud