diff options
| author | bors <bors@rust-lang.org> | 2013-10-06 14:41:28 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-10-06 14:41:28 -0700 |
| commit | 8eb28bb7dcd77ac9e804ab2d75b387ca3f47f9d4 (patch) | |
| tree | 8843a8686ba71c57e01aa606c22db4c06bef327c /src/test/debug-info | |
| parent | 4db6eba3a24778bd64260e5fcae24a41575c4d7b (diff) | |
| parent | 3396365cab2da7bb1e9b57932f4092bfa49d3787 (diff) | |
| download | rust-8eb28bb7dcd77ac9e804ab2d75b387ca3f47f9d4.tar.gz rust-8eb28bb7dcd77ac9e804ab2d75b387ca3f47f9d4.zip | |
auto merge of #9703 : alexcrichton/rust/compiler-features, r=cmr
This implements the necessary logic for gating particular features off by default in the compiler. There are a number of issues which have been wanting this form of mechanism, and this initially gates features which we have open issues for. Additionally, this should unblock #9255
Diffstat (limited to 'src/test/debug-info')
| -rw-r--r-- | src/test/debug-info/borrowed-enum.rs | 1 | ||||
| -rw-r--r-- | src/test/debug-info/by-value-non-immediate-argument.rs | 2 | ||||
| -rw-r--r-- | src/test/debug-info/generic-static-method-on-struct-and-enum.rs | 1 | ||||
| -rw-r--r-- | src/test/debug-info/generic-struct-style-enum.rs | 2 | ||||
| -rw-r--r-- | src/test/debug-info/lexical-scope-with-macro.rs | 2 | ||||
| -rw-r--r-- | src/test/debug-info/managed-enum.rs | 1 | ||||
| -rw-r--r-- | src/test/debug-info/method-on-enum.rs | 2 | ||||
| -rw-r--r-- | src/test/debug-info/option-like-enum.rs | 2 | ||||
| -rw-r--r-- | src/test/debug-info/recursive-struct.rs | 1 | ||||
| -rw-r--r-- | src/test/debug-info/static-method-on-struct-and-enum.rs | 1 | ||||
| -rw-r--r-- | src/test/debug-info/struct-style-enum.rs | 1 | ||||
| -rw-r--r-- | src/test/debug-info/unique-enum.rs | 1 |
12 files changed, 17 insertions, 0 deletions
diff --git a/src/test/debug-info/borrowed-enum.rs b/src/test/debug-info/borrowed-enum.rs index 9a9e71c7068..c77804c38bb 100644 --- a/src/test/debug-info/borrowed-enum.rs +++ b/src/test/debug-info/borrowed-enum.rs @@ -23,6 +23,7 @@ // check:$3 = {4820353753753434} #[allow(unused_variable)]; +#[feature(struct_variant)]; // The first element is to ensure proper alignment, irrespective of the machines word size. Since // the size of the discriminant value is machine dependent, this has be taken into account when diff --git a/src/test/debug-info/by-value-non-immediate-argument.rs b/src/test/debug-info/by-value-non-immediate-argument.rs index 6ea0e0b12a3..45c7cb2a192 100644 --- a/src/test/debug-info/by-value-non-immediate-argument.rs +++ b/src/test/debug-info/by-value-non-immediate-argument.rs @@ -41,6 +41,8 @@ // check:$7 = {{Case1, x = 0, y = 8970181431921507452}, {Case1, 0, 2088533116, 2088533116}} // debugger:continue +#[feature(struct_variant)]; + #[deriving(Clone)] struct Struct { a: int, diff --git a/src/test/debug-info/generic-static-method-on-struct-and-enum.rs b/src/test/debug-info/generic-static-method-on-struct-and-enum.rs index bea901a75d0..2e69dd11323 100644 --- a/src/test/debug-info/generic-static-method-on-struct-and-enum.rs +++ b/src/test/debug-info/generic-static-method-on-struct-and-enum.rs @@ -30,6 +30,7 @@ // check:$5 = 5 // debugger:continue +#[feature(struct_variant)]; struct Struct { x: int diff --git a/src/test/debug-info/generic-struct-style-enum.rs b/src/test/debug-info/generic-struct-style-enum.rs index 81b12fe60ae..672ddc8fc45 100644 --- a/src/test/debug-info/generic-struct-style-enum.rs +++ b/src/test/debug-info/generic-struct-style-enum.rs @@ -26,6 +26,8 @@ // debugger:print univariant // check:$4 = {a = -1} +#[feature(struct_variant)]; + // NOTE: This is a copy of the non-generic test case. The `Txx` type parameters have to be // substituted with something of size `xx` bits and the same alignment as an integer type of the // same size. diff --git a/src/test/debug-info/lexical-scope-with-macro.rs b/src/test/debug-info/lexical-scope-with-macro.rs index 9e87eee692d..6e23797e10d 100644 --- a/src/test/debug-info/lexical-scope-with-macro.rs +++ b/src/test/debug-info/lexical-scope-with-macro.rs @@ -63,6 +63,8 @@ // check:$15 = 400 // debugger:continue +#[feature(macro_rules)]; + macro_rules! trivial( ($e1:expr) => ($e1) ) diff --git a/src/test/debug-info/managed-enum.rs b/src/test/debug-info/managed-enum.rs index 87aa3d1dfc1..7be42872570 100644 --- a/src/test/debug-info/managed-enum.rs +++ b/src/test/debug-info/managed-enum.rs @@ -23,6 +23,7 @@ // check:$3 = {-9747455} #[allow(unused_variable)]; +#[feature(struct_variant)]; // The first element is to ensure proper alignment, irrespective of the machines word size. Since // the size of the discriminant value is machine dependent, this has be taken into account when diff --git a/src/test/debug-info/method-on-enum.rs b/src/test/debug-info/method-on-enum.rs index d428d230d45..2f02844fdc5 100644 --- a/src/test/debug-info/method-on-enum.rs +++ b/src/test/debug-info/method-on-enum.rs @@ -92,6 +92,8 @@ // check:$21 = -16 // debugger:continue +#[feature(struct_variant)]; + enum Enum { Variant1 { x: u16, y: u16 }, Variant2 (u32) diff --git a/src/test/debug-info/option-like-enum.rs b/src/test/debug-info/option-like-enum.rs index 5c0ffe24f0e..093b59a2bfe 100644 --- a/src/test/debug-info/option-like-enum.rs +++ b/src/test/debug-info/option-like-enum.rs @@ -33,6 +33,8 @@ // debugger:continue +#[feature(struct_variant)]; + // If a struct has exactly two variants, one of them is empty, and the other one // contains a non-nullable pointer, then this value is used as the discriminator. // The test cases in this file make sure that something readable is generated for diff --git a/src/test/debug-info/recursive-struct.rs b/src/test/debug-info/recursive-struct.rs index b8a43d6d16a..b8d510bd306 100644 --- a/src/test/debug-info/recursive-struct.rs +++ b/src/test/debug-info/recursive-struct.rs @@ -99,6 +99,7 @@ // debugger:continue #[allow(unused_variable)]; +#[feature(struct_variant)]; enum Opt<T> { Empty, diff --git a/src/test/debug-info/static-method-on-struct-and-enum.rs b/src/test/debug-info/static-method-on-struct-and-enum.rs index e4b2e06faf4..062cbdd4859 100644 --- a/src/test/debug-info/static-method-on-struct-and-enum.rs +++ b/src/test/debug-info/static-method-on-struct-and-enum.rs @@ -30,6 +30,7 @@ // check:$5 = 5 // debugger:continue +#[feature(struct_variant)]; struct Struct { x: int diff --git a/src/test/debug-info/struct-style-enum.rs b/src/test/debug-info/struct-style-enum.rs index acd2526a68d..90072367bc5 100644 --- a/src/test/debug-info/struct-style-enum.rs +++ b/src/test/debug-info/struct-style-enum.rs @@ -27,6 +27,7 @@ // check:$4 = {a = -1} #[allow(unused_variable)]; +#[feature(struct_variant)]; // The first element is to ensure proper alignment, irrespective of the machines word size. Since // the size of the discriminant value is machine dependent, this has be taken into account when diff --git a/src/test/debug-info/unique-enum.rs b/src/test/debug-info/unique-enum.rs index 0995cec11a3..d939c8c4abc 100644 --- a/src/test/debug-info/unique-enum.rs +++ b/src/test/debug-info/unique-enum.rs @@ -23,6 +23,7 @@ // check:$3 = {123234} #[allow(unused_variable)]; +#[feature(struct_variant)]; // The first element is to ensure proper alignment, irrespective of the machines word size. Since // the size of the discriminant value is machine dependent, this has be taken into account when |
