diff options
| author | Michael Woerister <michaelwoerister@gmail> | 2013-09-13 16:26:35 +0200 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@gmail> | 2013-09-15 12:28:25 +0200 |
| commit | ccb721a58d2973ea65e382d8af28932aa649b579 (patch) | |
| tree | 4fb423b9a0f71871b715cd01d26a17efb65deefe /src/test/debug-info/recursive-struct.rs | |
| parent | 1ce02e71448548d779413860632e07646cbc96b3 (diff) | |
| download | rust-ccb721a58d2973ea65e382d8af28932aa649b579.tar.gz rust-ccb721a58d2973ea65e382d8af28932aa649b579.zip | |
debuginfo: Added description of algorithm for handling recursive types.
Also fixed nasty bug caused by calling LLVMDIBuilderCreateStructType() with a null pointer where an empty array was expected (which would trigger an unintelligable assertion somewhere down the line).
Diffstat (limited to 'src/test/debug-info/recursive-struct.rs')
| -rw-r--r-- | src/test/debug-info/recursive-struct.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/test/debug-info/recursive-struct.rs b/src/test/debug-info/recursive-struct.rs index 4c602ba3832..b8a43d6d16a 100644 --- a/src/test/debug-info/recursive-struct.rs +++ b/src/test/debug-info/recursive-struct.rs @@ -142,14 +142,14 @@ struct LongCycleWithAnonymousTypes { // This test case makes sure that recursive structs are properly described. The Node structs are // generic so that we can have a new type (that newly needs to be described) for the different -// cases. The potential problem with recursive types is that the DI generation algorithm get trapped -// in an endless loop. To make sure, we actually test this in the different cases, we have to -// operate on a new type each time, otherwise we would just hit the DI cache for all but the first -// case. +// cases. The potential problem with recursive types is that the DI generation algorithm gets +// trapped in an endless loop. To make sure, we actually test this in the different cases, we have +// to operate on a new type each time, otherwise we would just hit the DI cache for all but the +// first case. // The different cases below (stack_*, unique_*, box_*, etc) are set up so that the type description // algorithm will enter the type reference cycle that is created by a recursive definition from a -// different context. +// different context each time. // The "long cycle" cases are constructed to span a longer, indirect recursion cycle between types. // The different locals will cause the DI algorithm to enter the type reference cycle at different |
