summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use DICompositeType->replaceAllUsesWith()Devang Patel2009-07-271-4/+3
| | | | llvm-svn: 77228
* Use DICompositeType->replaceAllUsesWith().Devang Patel2009-07-221-4/+3
| | | | | | This requires llvm rev. 76769 or higher. llvm-svn: 76770
* Revert r75641.Anders Carlsson2009-07-181-1/+1
| | | | llvm-svn: 76327
* Remove ObjCQualifiedInterfaceType:-)Steve Naroff2009-07-181-1/+0
| | | | llvm-svn: 76321
* Revert 75648 for now. It is causing test failures.Devang Patel2009-07-141-21/+6
| | | | llvm-svn: 75684
* [llvm up] adjust to match mainline.Chris Lattner2009-07-141-3/+4
| | | | llvm-svn: 75647
* Rename RecordLayout.h to ASTRecordLayout.hAnders Carlsson2009-07-141-1/+1
| | | | llvm-svn: 75641
* Revert r75614 which depend on r75610 (for LLVM), which was reverted.Daniel Dunbar2009-07-141-4/+3
| | | | | | | --- Reverse-merging r75614 into '.': U lib/CodeGen/CGDebugInfo.cpp llvm-svn: 75639
* use new name for method.Chris Lattner2009-07-141-3/+4
| | | | llvm-svn: 75614
* Use LLVM mangler to get mangled name for debug info entry.Devang Patel2009-07-141-6/+20
| | | | llvm-svn: 75589
* Update debug info generation for ObjCObjectPointer changes.Daniel Dunbar2009-07-141-5/+15
| | | | | | | | | - 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
* Update debug info type cache after fwd decl is replaced by real decl.Devang Patel2009-07-131-2/+6
| | | | llvm-svn: 75473
* Fix comment.Devang Patel2009-07-131-1/+1
| | | | llvm-svn: 75471
* This patch includes a conceptually simple, but very intrusive/pervasive change. Steve Naroff2009-07-101-2/+4
| | | | | | | | | | | | The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches. This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic. By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks. llvm-svn: 75314
* Fix a problem that Eli noticed, and that Doug helped me fix.Anders Carlsson2009-07-101-2/+2
| | | | llvm-svn: 75265
* Keep track of the Expr used to describe the size of an array type,Douglas Gregor2009-07-061-0/+2
| | | | | | from Enea Zaffanella! llvm-svn: 74831
* De-ASTContext-ify DeclContext.Argyrios Kyrtzidis2009-06-301-4/+3
| | | | | | | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
* Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions.Chris Lattner2009-06-301-1/+1
| | | | | | | | | | | | This is simple enough, but then I thought it would be nice to make PrintingPolicy get a LangOptions so that various things can key off "bool" and "C++" independently. This spiraled out of control. There are many fixme's, but I think things are slightly better than they were before. One thing that can be improved: CFG should probably have an ASTContext pointer in it, which would simplify its clients. llvm-svn: 74493
* Revrt PR4228 fix for now.Devang Patel2009-06-261-40/+20
| | | | llvm-svn: 74304
* Add a DecltypeType type.Anders Carlsson2009-06-241-0/+3
| | | | llvm-svn: 74099
* First step toward fixing <rdar://problem/6613046> refactor clang objc type ↵Steve Naroff2009-06-171-1/+1
| | | | | | | | | | | | representation. Add a type (ObjCObjectPointerType) and remove a type (ObjCQualifiedIdType). This large/tedious patch is just a first step. Next step is to remove ObjCQualifiedInterfaceType. After that, I will remove the magic TypedefType for 'id' (installed by Sema). This work will enable various simplifications throughout clang (when dealing with ObjC types). No functionality change. llvm-svn: 73649
* It is possible that main input file does not have any symbol with debug ↵Devang Patel2009-06-161-20/+40
| | | | | | | | info. To handle this edge case, always create main compile unit first. This fixes PR 4228. llvm-svn: 73520
* Create a new PrintingPolicy class, which we pass down through the ASTDouglas Gregor2009-05-291-1/+3
| | | | | | | | | printing logic to help customize the output. For now, we use this rather than a special flag to suppress the "struct" when printing "struct X" and to print the Boolean type as "bool" in C++ but "_Bool" in C. llvm-svn: 72590
* Use .data() instead of &...[0].Daniel Dunbar2009-05-261-5/+5
| | | | | | - Just SmallVectors this time. llvm-svn: 72432
* Use v.data() instead of &v[0] when SmallVector v might be empty.Jay Foad2009-05-211-2/+2
| | | | llvm-svn: 72210
* Debug info: Initialize runtime language field correctly for Objective-CDaniel Dunbar2009-05-181-1/+1
| | | | | | interface types. llvm-svn: 72036
* Enhance debug information for block literals. Radar 6867696Mike Stump2009-05-141-2/+131
| | | | llvm-svn: 71763
* We need to specify the "linkage name" to the subprogram now that weDaniel Dunbar2009-05-141-1/+5
| | | | | | | emit the correct "display name". I suspect we need more work here, see FIXME for example. llvm-svn: 71761
* Make sure not to include the LLVM asm prefix in function names forDaniel Dunbar2009-05-131-0/+4
| | | | | | debug info. llvm-svn: 71736
* fix some more cases where we'd emit a file with a line of 0 for implicitChris Lattner2009-05-051-5/+13
| | | | | | | types. In this case, it was objc_selector and objc_class. This fixes rdar://6852754 - clang sometimes generates incorrect/unknown file/line info for DW_TAG__structure_type dies llvm-svn: 70969
* Do not generate bogus location info for DW_TAG_inheritanceChris Lattner2009-05-051-1/+1
| | | | | | | | DIEs. We were generating a loc with line of 0 and a file. These tags do not need locations at all, just remove it. this fixes rdar://6852792 - Clang generates incorrect (and unnecessary) file and line info for DW_TAG_inheritance dies llvm-svn: 70966
* Fix generated debug info for decls with no location (which include self/_cmdChris Lattner2009-05-051-4/+10
| | | | | | | | in ObjC) to not emit file/line location information. Previously we would output a file with bogus line information. This fixes: rdar://6852814 - Clang generates incorrect file & line info for automatic/understood formal parameters for objc-programs llvm-svn: 70965
* PR4143: don't crash generating debug info for incomplete enum types.Eli Friedman2009-05-041-2/+6
| | | | llvm-svn: 70825
* When creating a dwarf record type for an objc interface, make sure to propagateChris Lattner2009-05-021-2/+6
| | | | | | | the runtime version number onto it, so that the debugger knows it's an objc interface, not a C struct. rdar://6848435 llvm-svn: 70618
* capture whether optimizations are enabled or not in debug infoChris Lattner2009-05-021-2/+2
| | | | llvm-svn: 70617
* encode the version of the objc runtime into the dwarf compile unit. ↵Chris Lattner2009-05-021-4/+11
| | | | | | | | rdar://6848435, several other fixes coming. llvm-svn: 70616
* While generating debug info ignore unnamed fields.Devang Patel2009-04-271-0/+8
| | | | llvm-svn: 70266
* Remove getIntegerConstantExprValue in favor of using EvaluateAsInt.Eli Friedman2009-04-261-5/+3
| | | | llvm-svn: 70145
* Handle corner case where clang-cc is invoked directly to compile ↵Devang Patel2009-04-231-8/+14
| | | | | | | | 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
* implement debug info for _Complex.Chris Lattner2009-04-231-1/+17
| | | | llvm-svn: 69873
* implement debug info support for id<proto> and interface<proto>Chris Lattner2009-04-221-9/+9
| | | | llvm-svn: 69784
* ObjCQualifiedClass is dead, remove it.Chris Lattner2009-04-221-1/+0
| | | | llvm-svn: 69783
* silence a warning, I need to talk to Devang about this code.Chris Lattner2009-04-191-1/+1
| | | | llvm-svn: 69517
* Use PresumedLoc to record line number in debug info entries.Devang Patel2009-04-171-11/+22
| | | | llvm-svn: 69389
* Appropriately set file name and directory name in debug info compile units.Devang Patel2009-04-171-26/+30
| | | | llvm-svn: 69387
* Propagate the ASTContext to various AST traversal and lookup functions.Douglas Gregor2009-04-091-4/+5
| | | | | | No functionality change (really). llvm-svn: 68726
* Use presumed location to get line number info.Devang Patel2009-04-081-3/+3
| | | | llvm-svn: 68630
* Make debug info work when using -save-temps.Daniel Dunbar2009-04-081-0/+6
| | | | | | | | | | | | | | | | | | - This is pretty ugly, but the most obvious solution. Chime in if you have a nicer one. - The problem is that with -save-temps, clang-cc has no idea what the name of the original input file is. However, the user expects to be able to set breakpoints based on the input file name. - We support this by providing a new option -main-file-name (similar to -dumpbase used by gcc) which allows the driver to pass in the original file name. - <rdar://problem/6753383> building with clang using --save-temps gets the compile unit name from the .i file... llvm-svn: 68595
* remove ASTContext::buildObjCInterfaceType, which breaks canonical Chris Lattner2009-04-011-1/+1
| | | | | | | | types. It is no longer needed now that the code generator re-lays-out interfaces if they are defines after being laid out from a forward decl. llvm-svn: 68194
* Improve the representation of template names in the AST. ThisDouglas Gregor2009-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | representation handles the various ways in which one can name a template, including unqualified references ("vector"), qualified references ("std::vector"), and dependent template names ("MetaFun::template apply"). One immediate effect of this change is that the representation of nested-name-specifiers in type names for class template specializations (e.g., std::vector<int>) is more accurate. Rather than representing std::vector<int> as std::(vector<int>) we represent it as (std::vector)<int> which more closely follows the C++ grammar. Additionally, templates are no longer represented as declarations (DeclPtrTy) in Parse-Sema interactions. Instead, I've introduced a new OpaquePtr type (TemplateTy) that holds the representation of a TemplateName. This will simplify the handling of dependent template-names, once we get there. llvm-svn: 68074
OpenPOWER on IntegriCloud