summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* While handling change of file, check if _current_ file is already seen or ↵Devang Patel2010-09-151-1/+2
| | | | | | | | not. If current file is seen then it indicates that end of previous file's lexical scope. This fixes radar 8396182. llvm-svn: 114018
* Tidy up last commit, as per Devang's comments.David Chisnall2010-09-021-12/+19
| | | | llvm-svn: 112840
* Use the unmangled name for the display name in Objective-C debug info. This ↵David Chisnall2010-09-021-0/+14
| | | | | | should have no effect with the Mac runtime where clang (unlike GCC) uses the display name symbol name. llvm-svn: 112833
* Debug info for friends!Devang Patel2010-08-271-13/+49
| | | | | | Patch originally by Alexander Herz. llvm-svn: 112275
* Fix enum size and align. Tested by setvar.exp in gdb testsuite.Devang Patel2010-08-241-4/+6
| | | | llvm-svn: 111936
* Debug Info: Put full Clang version into the debug info, to make it easier toDaniel Dunbar2010-08-241-5/+1
| | | | | | identify what version of the compiler was used to build something. llvm-svn: 111927
* Emit debug info for enum constants.Devang Patel2010-08-231-32/+35
| | | | llvm-svn: 111852
* Reinstate the code for emitting an initial debug type for a struct,Dan Gohman2010-08-231-4/+11
| | | | | | | to handle the case where the struct is only forward-declared. In this case, a temporary MDNode is not needed and not desired. llvm-svn: 111842
* Detabify.Eli Friedman2010-08-221-3/+3
| | | | llvm-svn: 111768
* Delete an obsolete comment.Dan Gohman2010-08-211-2/+0
| | | | llvm-svn: 111711
* CreateTemporaryType doesn't needs its Context argument.Dan Gohman2010-08-201-3/+2
| | | | llvm-svn: 111688
* Introduce a new temporary MDNode concept. Temporary MDNodes areDan Gohman2010-08-201-17/+9
| | | | | | | | not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. llvm-svn: 111682
* Emit debug info for static const class member.Devang Patel2010-08-121-2/+25
| | | | llvm-svn: 110885
* SimplifyDevang Patel2010-08-101-2/+1
| | | | llvm-svn: 110716
* Do not use DIGlobalVariable to emit debugging information for enums.Devang Patel2010-08-101-0/+4
| | | | llvm-svn: 110697
* Simplify code and add comments, in code that generate debug info for ↵Devang Patel2010-08-101-2/+4
| | | | | | constant integer globals, based on Chris's feedback. llvm-svn: 110694
* Even if a constant's evaluated value is used, emit debug info for the ↵Devang Patel2010-08-101-0/+11
| | | | | | constant variable. llvm-svn: 110660
* Override selected builtin names (e.g. "long int" instead of "long") to match ↵Devang Patel2010-07-281-3/+13
| | | | | | names used by gcc in debug info. This makes gdb testsuite happy. llvm-svn: 109694
* construct debug info for "id" by hand. Devang Patel2010-07-281-3/+35
| | | | | | Tested by mi1-var-obj.exp in gdb testsuite. llvm-svn: 109571
* Always use current working directory for DW_AT_comp_dir.Devang Patel2010-07-271-10/+1
| | | | llvm-svn: 109535
* Reapply 109303. Devang Patel2010-07-271-14/+32
| | | | llvm-svn: 109507
* Revert 109303.Devang Patel2010-07-261-32/+14
| | | | llvm-svn: 109426
* Untangle filename/dirname confusion. Store constructed strings on the side. ↵Devang Patel2010-07-241-14/+32
| | | | | | | | | | | | | | | | | | | | Avoid use of Path.makeAbsolute(). DW_TAG_compile_unit uses two attributes DW_AT_name and DW_AT_comp_dir. Their expected values are: $ clang foo.c -g DW_AT_name - foo.c DW_AT_comp_dir - `pwd` $ clang one/two/foo.c -g DW_AT_name - one/two/foo.c DW_AT_comp_dir - `pwd` $ clang /tmp/one/foo.c -g DW_AT_name - /tmp/one/foo.c DW_AT_comp_dir - empty llvm-svn: 109303
* Revert r109263.Devang Patel2010-07-231-15/+8
| | | | llvm-svn: 109284
* There is no need to use separate dir name for AT_comp_dir attribute. Using ↵Devang Patel2010-07-231-8/+15
| | | | | | absolute path for filename allows clients to query complete file location info from gdb breakpoints. Save constructed full file name. llvm-svn: 109263
* Keep track of artificial scopes introduced by line directives. For example,Devang Patel2010-07-221-0/+66
| | | | | | | | | | | | #line 41 "bar.c" dummy (1, i); #line 24 "bar.h" i = f2 (i); #line 44 "bar.c" This is tested by step-line.exp in gdb testsuite. llvm-svn: 109189
* ObjCId is special "struct objc_object". Make this explicit in debug info.Devang Patel2010-07-211-0/+6
| | | | | | This is tested by objc-rbreak.exp in gdb testsuite. llvm-svn: 109050
* Remove unintended code that was checked in as part of r108916.Devang Patel2010-07-201-12/+0
| | | | llvm-svn: 108951
* Remove unused argument.Devang Patel2010-07-201-4/+4
| | | | llvm-svn: 108946
* Print template argument names for template class.Devang Patel2010-07-201-1/+54
| | | | llvm-svn: 108916
* Correct line info for declarations/definitions. Radar 8063111.Stuart Hastings2010-07-191-0/+1
| | | | llvm-svn: 108785
* Set "optimization is ON" and supply other optional parameters. This helps ↵Devang Patel2010-07-151-2/+6
| | | | | | codegenerator preserve info in case the symbol is deleted. llvm-svn: 108471
* Mark implementation generated methods as artificial.Devang Patel2010-07-151-1/+2
| | | | | | Tested by namespace.exp and virtfunc.exp from gdb testsuite. llvm-svn: 108468
* Revert 108220 and subsequent patch. Devang Patel2010-07-151-12/+0
| | | | | | This is not required (I am not 100% sure why) but method.exp from gdb testsuite flagged regression due to this patch. llvm-svn: 108434
* Add volatile qualifiers for "this".Devang Patel2010-07-131-1/+7
| | | | llvm-svn: 108245
* const qualify debug info for "this" for const methods.Devang Patel2010-07-131-0/+7
| | | | llvm-svn: 108220
* While collecting members for a class, always create delcaration entry for ↵Devang Patel2010-07-121-1/+1
| | | | | | | | methods. Debug info for method definition will be generated while generating code for method body. Tested by classes.exp in gdb testsuite. llvm-svn: 108205
* Handle forward declarations properly in debug info.Devang Patel2010-07-081-6/+14
| | | | | | | Patch by Alexander Kabaev. PR 7595. llvm-svn: 107900
* Switch over to the new caching version of getMangledName.Anders Carlsson2010-06-221-5/+5
| | | | llvm-svn: 106549
* Move CodeGenOptions.h *back* into Frontend. This should have been done when theChandler Carruth2010-06-151-1/+1
| | | | | | dependency edge was reversed such that CodeGen depends on Frontend. llvm-svn: 106065
* Preserve type info for local variables in optimized builds. Devang Patel2010-06-051-1/+1
| | | | | | llvm-gcc enabled this couple of weeks ago. llvm-svn: 105516
* Substantially alter the design of the Objective C type AST by introducingJohn McCall2010-05-151-0/+9
| | | | | | | | | | | | | | | | | | | | | ObjCObjectType, which is basically just a pair of one of {primitive-id, primitive-Class, user-defined @class} with a list of protocols. An ObjCObjectPointerType is therefore just a pointer which always points to one of these types (possibly sugared). ObjCInterfaceType is now just a kind of ObjCObjectType which happens to not carry any protocols. Alter a rather large number of use sites to use ObjCObjectType instead of ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather than hashing them in a FoldingSet. Remove some number of methods that are no longer used, at least after this patch. By simplifying ObjCObjectPointerType, we are now able to easily remove and apply pointers to Objective-C types, which is crucial for a certain kind of ObjC++ metaprogramming common in WebKit. llvm-svn: 103870
* Fix thinko in yesterday's fix.Devang Patel2010-05-141-1/+1
| | | | | | Providing linkage name for function static variable confuses gdb, so don't do that. llvm-svn: 103779
* Fix context in class static variable's debugging information entry.Devang Patel2010-05-131-4/+13
| | | | | | This fixes bunch of failures in gdb testsuite. llvm-svn: 103745
* If given location is invalid then use current location.Devang Patel2010-05-121-107/+51
| | | | | | | | | This fixes recent regressions reported by gdb testsuite. Tighter verification of debug info generated by FE found these regressions. Refactor code to extract line number and column number from SourceLocation. llvm-svn: 103678
* Merged Elaborated and QualifiedName types.Abramo Bagnara2010-05-111-6/+2
| | | | llvm-svn: 103517
* Initialize Column.Devang Patel2010-05-101-6/+12
| | | | llvm-svn: 103448
* If variable location is invalid then use current location.Devang Patel2010-05-101-1/+3
| | | | | | This fixes radar 7959934. llvm-svn: 103408
* If there is not any debug info for type then do not emit debug info for this ↵Devang Patel2010-05-071-0/+5
| | | | | | | | | variable. A recent change to tightly verify debug info prepared by FE caught this. This fixes unittest build. llvm-svn: 103320
* Avoid use of DIDescriptor::getNode(). Use overloaded operators instead.Devang Patel2010-05-071-25/+30
| | | | llvm-svn: 103273
OpenPOWER on IntegriCloud