summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* When instantiating a function that was declared via a typedef, e.g.,Douglas Gregor2010-05-041-1/+4
| | | | | | | | | | | | | typedef int functype(int, int); functype func; also instantiate the synthesized function parameters for the resulting function declaration. With this change, Boost.Wave builds and passes all of its regression tests. llvm-svn: 103025
* Use clang::VarDecl name instead of llvm::GlobalVariable name.Devang Patel2010-04-291-1/+1
| | | | | | llvm::GLobalVariable name may not match user visibile name for function static variables. llvm-svn: 102644
* Make the InjectedClassNameType the canonical type of the current instantiationJohn McCall2010-04-271-1/+0
| | | | | | | | | | | | | | | | of a class template or class template partial specialization. That is to say, in template <class T> class A { ... }; or template <class T> class B<const T*> { ... }; make 'A<T>' and 'B<const T*>' sugar for the corresponding InjectedClassNameType when written inside the appropriate context. This allows us to track the current instantiation appropriately even inside AST routines. It also allows us to compute a DeclContext for a type much more efficiently, at some extra cost every time we write a template specialization (which can be optimized, but I've left it simple in this patch). llvm-svn: 102407
* Enable debug info for local variables at -O1+. Devang Patel2010-04-261-12/+1
| | | | llvm-svn: 102398
* Fix pasto, add a comment.Benjamin Kramer2010-04-241-1/+1
| | | | llvm-svn: 102263
* Factor code. No functionality change.Benjamin Kramer2010-04-241-137/+35
| | | | llvm-svn: 102262
* Revert accidental check-in.Devang Patel2010-04-241-13/+5
| | | | llvm-svn: 102226
* Revert r102215. This causes clang crash while compiling a test case from gdb ↵Devang Patel2010-04-241-5/+13
| | | | | | testsuite. llvm-svn: 102224
* Encode field accessibility.Devang Patel2010-04-211-1/+8
| | | | llvm-svn: 102033
OpenPOWER on IntegriCloud