summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert 109303.Devang Patel2010-07-261-8/+0
| | | | llvm-svn: 109426
* Untangle filename/dirname confusion. Store constructed strings on the side. ↵Devang Patel2010-07-241-0/+8
| | | | | | | | | | | | | | | | | | | | 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
* Keep track of artificial scopes introduced by line directives. For example,Devang Patel2010-07-221-0/+15
| | | | | | | | | | | | #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
* Remove unused argument.Devang Patel2010-07-201-3/+3
| | | | llvm-svn: 108946
* Print template argument names for template class.Devang Patel2010-07-201-0/+3
| | | | llvm-svn: 108916
* Substantially alter the design of the Objective C type AST by introducingJohn McCall2010-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | 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
* If given location is invalid then use current location.Devang Patel2010-05-121-0/+7
| | | | | | | | | 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
* Fix pasto, add a comment.Benjamin Kramer2010-04-241-0/+1
| | | | llvm-svn: 102263
* Factor code. No functionality change.Benjamin Kramer2010-04-241-0/+3
| | | | llvm-svn: 102262
* Vtable -> VTable renames across the board.Anders Carlsson2010-04-171-3/+3
| | | | llvm-svn: 101666
* Minor include pruning.Benjamin Kramer2010-03-311-1/+0
| | | | llvm-svn: 100007
* Cache results computed by CGDebugInfo::getOrCreateFile() in a DenseMap.Ted Kremenek2010-03-301-0/+1
| | | | | | This reduces '-c -g' time on one file in 403.gcc by 12%. llvm-svn: 99857
* Remove FIXME comment.Ted Kremenek2010-03-291-1/+0
| | | | llvm-svn: 99828
* Change 'TypeCache' from being an std::map to a llvm::DenseMap. This reduces ↵Ted Kremenek2010-03-291-1/+1
| | | | | | | | codegen time on one .i file from 403.gcc by 0.5%. llvm-svn: 99823
* More then one anonymous aggregates on one line creates chaos when MDNode ↵Devang Patel2010-03-091-3/+3
| | | | | | | | uniquness is combined with RAUW operation. Right solution is to avoid using RAUW. This fixes PR 6554. llvm-svn: 98083
* Start using DIFile. Corresponding llvm patch is r98020.Devang Patel2010-03-091-33/+34
| | | | llvm-svn: 98021
* Emit debug info for VectorType.Devang Patel2010-02-231-0/+1
| | | | llvm-svn: 96999
* Refactor code that generates debug info for variables that has BlocksAttr.Devang Patel2010-02-101-0/+5
| | | | llvm-svn: 95786
* Emit debug info for namespaces.Devang Patel2010-02-011-1/+4
| | | | llvm-svn: 94991
* Maintain a map of regions (lexical scopes) and use it to find context for a ↵Devang Patel2010-01-291-1/+2
| | | | | | global variable. llvm-svn: 94817
* s/CGDebugInfo::getContext/CGDebugInfo::getContextDescriptor/g to avoid ↵Devang Patel2010-01-281-2/+3
| | | | | | confusion. llvm-svn: 94760
* s/FunctionNames/DebugInfoNames/gDevang Patel2010-01-281-2/+2
| | | | llvm-svn: 94753
* Emit vtable info.Devang Patel2010-01-281-0/+12
| | | | llvm-svn: 94751
* Include "this" pointer argument while emitting debug info for a C++ method.Devang Patel2010-01-281-0/+2
| | | | llvm-svn: 94710
* Fix the test I broke, and also fix a crash when declaring a virtual ↵Anders Carlsson2010-01-261-1/+1
| | | | | | destructor. Add debug info support for pure virtual member functions. llvm-svn: 94519
* Factor creating the DISubprogram for a member function out into a separate ↵Anders Carlsson2010-01-261-0/+5
| | | | | | function. llvm-svn: 94513
* First cut at emitting inheritance info.Devang Patel2010-01-251-0/+6
| | | | llvm-svn: 94473
* First cut at emitting debugging information for C++ member functions.Devang Patel2010-01-191-0/+6
| | | | | | There is lot more work to do in this area. llvm-svn: 93836
* Refactor.Devang Patel2010-01-191-0/+2
| | | | llvm-svn: 93814
* Emit human readable names for c/c++ functions. Avoid emitting linkage name ↵Devang Patel2010-01-141-1/+12
| | | | | | if it matches regular name. llvm-svn: 93383
* Use StringRef in CGDebugInfo::EmitFunctionStart.Benjamin Kramer2009-12-081-1/+1
| | | | llvm-svn: 90856
* Add rudimentary support for member pointers to CGDebugInfo.Anders Carlsson2009-12-061-3/+4
| | | | llvm-svn: 90711
* Do not store DIDescriptor directly into a container. Store MDNode directly, ↵Devang Patel2009-11-131-1/+1
| | | | | | through TrackingVH. llvm-svn: 88677
* Simplify the debug info code, handle lvalue references and template ↵Anders Carlsson2009-11-061-0/+4
| | | | | | specializations. llvm-svn: 86277
* Fixup the return type of functions.Mike Stump2009-10-231-1/+1
| | | | llvm-svn: 84922
* Add support to attach debug info to an instruction.Devang Patel2009-10-061-0/+1
| | | | | | This is not yet enabled. llvm-svn: 83399
* Set appropriate context for a global variable while emitting debug info.Devang Patel2009-10-061-0/+3
| | | | llvm-svn: 83352
* Improve debugging information for BlockDeclRefExpr. WIP. Given thisMike Stump2009-09-301-0/+12
| | | | | | | scheme, we can switch the previous scheme over to using this code path. There's a bit of simplifications yet to do as well. llvm-svn: 83138
* Fix an infinite loop arising when trying to generate debug informationJohn McCall2009-09-251-1/+1
| | | | | | for a ObjC class with an ivar of weak self type. llvm-svn: 82745
* Ok, an AssertingVH definitely doesn't work for now because we free our cache ↵Daniel Dunbar2009-09-191-1/+1
| | | | | | after the optimizer may have hacked on the module. Use a WeakVH instead. llvm-svn: 82324
* Switch CGDebugInfo type cache to using an AssertingVH.Daniel Dunbar2009-09-191-1/+6
| | | | llvm-svn: 82321
* Factor out CGDebugInfo::CreateTypeNode method.Daniel Dunbar2009-09-191-0/+3
| | | | | | - No functionality change. llvm-svn: 82320
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-14/+14
| | | | llvm-svn: 81346
* Revert 75648 for now. It is causing test failures.Devang Patel2009-07-141-4/+1
| | | | llvm-svn: 75684
* Use LLVM mangler to get mangled name for debug info entry.Devang Patel2009-07-141-1/+4
| | | | llvm-svn: 75589
* Update debug info generation for ObjCObjectPointer changes.Daniel Dunbar2009-07-141-0/+2
| | | | | | | | | - Previously this would crash on recursive types, and it was also incorrectly stripping off a level of indirection. - I'm not 100% convinced this is all correct, but it should be a monotonic improvment. llvm-svn: 75582
* Revrt PR4228 fix for now.Devang Patel2009-06-261-3/+1
| | | | llvm-svn: 74304
* It is possible that main input file does not have any symbol with debug ↵Devang Patel2009-06-161-1/+3
| | | | | | | | info. To handle this edge case, always create main compile unit first. This fixes PR 4228. llvm-svn: 73520
* Enhance debug information for block literals. Radar 6867696Mike Stump2009-05-141-0/+4
| | | | llvm-svn: 71763
* Handle corner case where clang-cc is invoked directly to compile ↵Devang Patel2009-04-231-0/+1
| | | | | | | | preprocessed source file without -main-file-name. In this case, CDDebugInfo is not able identify correct main source file becase SM.isFromMainFile() returns true for locations from header files as well as locations from main source file. This patch takes conservative approach by not emitting more then one compile unit with isMain bit set. llvm-svn: 69902
OpenPOWER on IntegriCloud