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 | |
| 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')
| -rw-r--r-- | src/test/debug-info/recursive-struct.rs | 10 | ||||
| -rw-r--r-- | src/test/debug-info/trait-pointers.rs | 2 |
2 files changed, 6 insertions, 6 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 diff --git a/src/test/debug-info/trait-pointers.rs b/src/test/debug-info/trait-pointers.rs index 1a5e3505511..4ec9fae1e2f 100644 --- a/src/test/debug-info/trait-pointers.rs +++ b/src/test/debug-info/trait-pointers.rs @@ -24,7 +24,7 @@ struct Struct { impl Trait for Struct {} -// There is no real test here yet. Just make that it compiles without crashing. +// There is no real test here yet. Just make sure that it compiles without crashing. fn main() { let stack_struct = Struct { a:0, b: 1.0 }; let reference: &Trait = &stack_struct as &Trait; |
