summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-lambda-expressions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [DebugInfo] NFC Clang test changes for: IR/Bitcode changes for DISubprogram ↵Paul Robinson2018-11-281-4/+4
| | | | | | | | flags. Differential Revision: https://reviews.llvm.org/D54756 llvm-svn: 347807
* Update Clang for D20147 ("DebugInfo: New metadata representation for global ↵Peter Collingbourne2016-09-131-4/+6
| | | | | | | | variables.") Differential Revision: http://reviews.llvm.org/D20415 llvm-svn: 281285
* DebugInfo: Adapt to loss of DITypeRef in LLVM r267296Duncan P. N. Exon Smith2016-04-231-2/+2
| | | | | | | | | | | | | LLVM stopped using MDString-based type references, and DIBuilder no longer fills 'retainedTypes:' with every DICompositeType that has an 'identifier:' field. There are just minor changes to keep the same behaviour in CFE. Leaving 'retainedTypes:' unfilled has a dramatic impact on the output order of the IR though. There are a huge number of testcase changes, which were unfortunately not really scriptable. llvm-svn: 267297
* DebugInfo: Make DICompositeTypes distinct most of the timeDuncan P. N. Exon Smith2016-04-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since elements of most kinds of DICompositeType have back references, most are involved in uniquing cycles. Except via the ODR 'identifier:' field, which doesn't care about the storage type (see r266549), they have no hope of being uniqued. Distinct nodes are far more efficient, so use them for most kinds of DICompositeType definitions (i.e., when DIType::isForwardDecl is false). The exceptions: - DW_TAG_array_type, since their elements never have back-references and they never have ODR 'identifier:' fields; - DW_TAG_enumeration_type when there is no ODR 'identifier:' field, since their elements usually don't have back-references. This breaks the last major uniquing cycle I'm aware of in the debug info graph. The impact won't be enormous for C++ because references to ODR-uniqued nodes still use string-based DITypeRefs; but this should prevent a regression in C++ when we drop the string-based references. This wouldn't have been reasonable until r266549, when composite types stopped relying on being uniqued by structural equivalence to prevent blow-ups at LTO time. llvm-svn: 266556
* Update to match LLVM changes for PR27284.Adrian Prantl2016-04-151-28/+27
| | | | | | | | | (Reverse the ownership between DICompileUnit and DISubprogram.) http://reviews.llvm.org/D19034 <rdar://problem/25256815> llvm-svn: 266445
* Stop messing with the 'g' group of options in CompilerInvocation.Douglas Katzman2015-10-081-1/+1
| | | | | | | | | | | | | | | | With this change, most 'g' options are rejected by CompilerInvocation. They remain only as Driver options. The new way to request debug info from cc1 is with "-debug-info-kind={line-tables-only|limited|standalone}" and "-dwarf-version={2|3|4}". In the absence of a command-line option to specify Dwarf version, the Toolchain decides it, rather than placing Toolchain-specific logic in CompilerInvocation. Also fix a bug in the Windows compatibility argument parsing in which the "rightmost argument wins" principle failed. Differential Revision: http://reviews.llvm.org/D13221 llvm-svn: 249655
* DI: Update DISubprogram testcases after LLVM r246098Duncan P. N. Exon Smith2015-08-261-4/+4
| | | | llvm-svn: 246099
* DebugInfo: Metadata constructs now start with DI*Duncan P. N. Exon Smith2015-04-291-23/+23
| | | | | | | | | | LLVM r236120 renamed debug info IR constructs to use a `DI` prefix, now that the `DIDescriptor` hierarchy has been gone for about a week. This commit was generated using the rename-md-di-nodes.sh upgrade script attached to PR23080, followed by running clang-format-diff.py on the `lib/` portion of the patch. llvm-svn: 236121
* DebugInfo: Move new hierarchy into place (clang)Duncan P. N. Exon Smith2015-03-031-28/+64
| | | | | | | Update testcases for LLVM change in r231082 to use the new debug info hierarchy. llvm-svn: 231083
* Emit DeferredDeclsToEmit in a DFS order.Rafael Espindola2015-01-221-17/+16
| | | | | | | | | | | | | | Currently we emit DeferredDeclsToEmit in reverse order. This patch changes that. The advantages of the change are that * The output order is a bit closer to the source order. The change to test/CodeGenCXX/pod-member-memcpys.cpp is a good example. * If we decide to deffer more, it will not cause as large changes in the estcases as it would without this patch. llvm-svn: 226751
* IR: Make metadata typeless in assembly, clang sideDuncan P. N. Exon Smith2014-12-151-22/+22
| | | | | | Match LLVM changes from r224257. llvm-svn: 224259
* Revert "Revert "DI: LLVM schema change: fold constants into string""Duncan P. N. Exon Smith2014-10-031-6/+6
| | | | | | | | | | | | | | This reverts commit r218917, effectively reapplying r218913. Original commit message follows. -- Update debug info testcases for an LLVM metadata schema change to fold metadata constant operands into a single `MDString`. Part of PR17891. llvm-svn: 219011
* Revert "DI: LLVM schema change: fold constants into string"Duncan P. N. Exon Smith2014-10-021-6/+6
| | | | | | This reverts commit r218913 while I investigate some bots. llvm-svn: 218917
* DI: LLVM schema change: fold constants into stringDuncan P. N. Exon Smith2014-10-021-6/+6
| | | | | | | | | Update debug info testcases for an LLVM metadata schema change to fold metadata constant operands into a single `MDString`. Part of PR17891. llvm-svn: 218913
* Debug info: Only emit C++ accessibility specifiers when they are divergingAdrian Prantl2014-08-291-4/+4
| | | | | | | | from the default for the containing type. rdar://problem/18154959 llvm-svn: 216800
* Debug Info: add an identifier field to DICompositeType.Manman Ren2013-08-261-6/+6
| | | | | | | Paired with llvm r189282. Update testing cases to handle an extra field for DICompositeType. llvm-svn: 189283
* Only emit debug info for implicit members that actually get codegen, not ↵David Blaikie2013-08-091-11/+7
| | | | | | | | | | | | just ODR use. This includes special members (copy/default ctor, copy assign, default ctor) and template specializations for member function templates. Good for a 5% decrease (1.80 to 1.71 GB) in size on Clang+LLVM's .dwo files (when using fission). llvm-svn: 188085
* Simplify/generalize some debug info test casesDavid Blaikie2013-03-191-24/+24
| | | | | | | | | Mostly, try to depend on the annotation comments more so these tests are more legible, brief, and agnostic to schema changes in the future (sure, they're not agnostic to changes to the comment annotations but since they're easier to read they should be easier to update if that happens). llvm-svn: 177457
* Generalize a few debug info test casesDavid Blaikie2013-03-171-1/+1
| | | | | | | | Checking for the annotation comment rather than the metadata values makes these tests resilient to a coming refactor that will pull these fields out into a separate metadata node. llvm-svn: 177237
* Collect both normal and static data members of a class in sourceEric Christopher2013-01-161-2/+2
| | | | | | | | | | order. Describe static data members to metadata using new interfaces. Part of PR14471. Patch by Paul Robinson! llvm-svn: 172591
* Revert r158009 since there are some uses of artificial functions inEric Christopher2012-10-171-8/+10
| | | | | | debug info. llvm-svn: 166109
* Teach Expr::HasSideEffects about all the Expr types, and fix a bug where itRichard Smith2012-08-071-8/+8
| | | | | | | | | | | | | | | | | | | was mistakenly classifying dynamic_casts which might throw as having no side effects. Switch it from a visitor to a switch, so it is kept up-to-date as future Expr nodes are added. Move it from ExprConstant.cpp to Expr.cpp, since it's not really related to constant expression evaluation. Since we use HasSideEffect to determine whether to emit an unused global with internal linkage, this has the effect of suppressing emission of globals in some cases. I've left many of the Objective-C cases conservatively assuming that the expression has side-effects. I'll leave it to someone with better knowledge of Objective-C than mine to improve them. llvm-svn: 161388
* Emit debug info for dynamic initializers. Permit __attribute__((nodebug)) onNick Lewycky2012-07-241-10/+10
| | | | | | | variables that have static storage duration, it removes debug info on the emitted initializer function but not all debug info about this variable. llvm-svn: 160659
* Reapply "Only emit debug information for methods that are user defined, there's"Eric Christopher2012-06-051-10/+8
| | | | | | | | As the failing testcase has been fixed. This reverts commit 0637f407e6ee7fdccde17fbf9a5fcc4853187b3e. llvm-svn: 158009
* Revert "Only emit debug information for methods that are user defined, there's"John McCall2012-06-051-8/+10
| | | | | | | This reverts r157970, which was not passing on clang-x86_64-darwin10-nobootstrap-RA llvm-svn: 157983
* Only emit debug information for methods that are user defined, there'sEric Christopher2012-06-051-10/+8
| | | | | | | | | not much reason to emit for constructors and destructors that aren't user defined. rdar://11593099 llvm-svn: 157970
* Reapply r151702 with a small fix for a failure to cut and pasteEric Christopher2012-03-011-0/+71
| | | | | | | | correctly. Still rdar://10900684 llvm-svn: 151838
* Revert r151702, "Add support for handling captured variables in lambda debugDaniel Dunbar2012-02-291-71/+0
| | | | | | info.", which broke some -O0 -g tests. llvm-svn: 151730
* Add support for handling captured variables in lambda debug info.Eric Christopher2012-02-291-0/+71
This currently doesn't handle capturing the 'this' pointer for any enclosing class. Steal the lambda-expressions.cpp testcase and debugify it and try to use more variables to proof it against random changes. Part of rdar://10900684 llvm-svn: 151702
OpenPOWER on IntegriCloud