Skip to content

Commit 6fa0ff2

Browse files
committed
Feature-gate #[no_debug] and #[omit_gdb_pretty_printer_section]
Closes #28091.
1 parent 783c3fc commit 6fa0ff2

File tree

97 files changed

+135
-5
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+135
-5
lines changed

src/libsyntax/feature_gate.rs

+13-2
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,12 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
197197

198198
// allow overloading augmented assignment operations like `a += b`
199199
("augmented_assignments", "1.5.0", None, Active),
200+
201+
// allow `#[no_debug]`
202+
("no_debug", "1.5.0", None, Active),
203+
204+
// allow `#[omit_gdb_pretty_printer_section]`
205+
("omit_gdb_pretty_printer_section", "1.5.0", None, Active),
200206
];
201207
// (changing above list without updating src/doc/reference.md makes @cmr sad)
202208

@@ -320,8 +326,13 @@ pub const KNOWN_ATTRIBUTES: &'static [(&'static str, AttributeType, AttributeGat
320326
("link_section", Whitelisted, Ungated),
321327
("no_builtins", Whitelisted, Ungated),
322328
("no_mangle", Whitelisted, Ungated),
323-
("no_debug", Whitelisted, Ungated),
324-
("omit_gdb_pretty_printer_section", Whitelisted, Ungated),
329+
("no_debug", Whitelisted, Gated("no_debug",
330+
"the `#[no_debug]` attribute \
331+
is an experimental feature")),
332+
("omit_gdb_pretty_printer_section", Whitelisted, Gated("omit_gdb_pretty_printer_section",
333+
"the `#[omit_gdb_pretty_printer_section]` \
334+
attribute is just used for the Rust test \
335+
suite")),
325336
("unsafe_no_drop_flag", Whitelisted, Gated("unsafe_no_drop_flag",
326337
"unsafe_no_drop_flag has unstable semantics \
327338
and may be removed in the future")),

src/test/auxiliary/cross_crate_spans.rs

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#![crate_type = "rlib"]
1212

1313
#![allow(unused_variables)]
14+
#![feature(omit_gdb_pretty_printer_section)]
1415
#![omit_gdb_pretty_printer_section]
1516

1617
// no-prefer-dynamic
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#[no_debug] //~ ERROR the `#[no_debug]` attribute is
12+
fn main() {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#[omit_gdb_pretty_printer_section] //~ ERROR the `#[omit_gdb_pretty_printer_section]` attribute is
12+
fn main() {}

src/test/debuginfo/associated-types.rs

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080

8181
#![allow(unused_variables)]
8282
#![allow(dead_code)]
83+
#![feature(omit_gdb_pretty_printer_section)]
8384
#![omit_gdb_pretty_printer_section]
8485

8586
trait TraitWithAssocType {

src/test/debuginfo/basic-types-globals-metadata.rs

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444

4545
#![allow(unused_variables)]
4646
#![allow(dead_code)]
47+
#![feature(omit_gdb_pretty_printer_section)]
4748
#![omit_gdb_pretty_printer_section]
4849

4950
// N.B. These are `mut` only so they don't constant fold away.

src/test/debuginfo/basic-types-globals.rs

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
// gdb-command:continue
5050

5151
#![allow(unused_variables)]
52+
#![feature(omit_gdb_pretty_printer_section)]
5253
#![omit_gdb_pretty_printer_section]
5354

5455
// N.B. These are `mut` only so they don't constant fold away.

src/test/debuginfo/basic-types-metadata.rs

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
// gdb-command:continue
6565

6666
#![allow(unused_variables)]
67+
#![feature(omit_gdb_pretty_printer_section)]
6768
#![omit_gdb_pretty_printer_section]
6869

6970
fn main() {

src/test/debuginfo/basic-types-mut-globals.rs

+1
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
// gdb-check:$28 = 9.25
8383

8484
#![allow(unused_variables)]
85+
#![feature(omit_gdb_pretty_printer_section)]
8586
#![omit_gdb_pretty_printer_section]
8687

8788
static mut B: bool = false;

src/test/debuginfo/basic-types.rs

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
// lldb-check:[...]$12 = 3.5
8888

8989
#![allow(unused_variables)]
90+
#![feature(omit_gdb_pretty_printer_section)]
9091
#![omit_gdb_pretty_printer_section]
9192

9293
fn main() {

src/test/debuginfo/borrowed-basic.rs

+1
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
// lldb-check:[...]$12 = 3.5
109109

110110
#![allow(unused_variables)]
111+
#![feature(omit_gdb_pretty_printer_section)]
111112
#![omit_gdb_pretty_printer_section]
112113

113114
fn main() {

src/test/debuginfo/borrowed-c-style-enum.rs

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
// lldb-check:[...]$2 = TheC
4141

4242
#![allow(unused_variables)]
43+
#![feature(omit_gdb_pretty_printer_section)]
4344
#![omit_gdb_pretty_printer_section]
4445

4546
enum ABC { TheA, TheB, TheC }

src/test/debuginfo/borrowed-enum.rs

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
// lldb-check:[...]$2 = TheOnlyCase(4820353753753434)
4040

4141
#![allow(unused_variables)]
42+
#![feature(omit_gdb_pretty_printer_section)]
4243
#![omit_gdb_pretty_printer_section]
4344

4445
// The first element is to ensure proper alignment, irrespective of the machines word size. Since

src/test/debuginfo/borrowed-struct.rs

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464

6565
#![allow(unused_variables)]
6666
#![feature(box_syntax)]
67+
#![feature(omit_gdb_pretty_printer_section)]
6768
#![omit_gdb_pretty_printer_section]
6869

6970
struct SomeStruct {

src/test/debuginfo/borrowed-tuple.rs

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242

4343
#![allow(unused_variables)]
4444
#![feature(box_syntax)]
45+
#![feature(omit_gdb_pretty_printer_section)]
4546
#![omit_gdb_pretty_printer_section]
4647

4748
fn main() {

src/test/debuginfo/borrowed-unique-basic.rs

+1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112

113113
#![allow(unused_variables)]
114114
#![feature(box_syntax)]
115+
#![feature(omit_gdb_pretty_printer_section)]
115116
#![omit_gdb_pretty_printer_section]
116117

117118
fn main() {

src/test/debuginfo/box.rs

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
#![allow(unused_variables)]
3434
#![feature(box_syntax)]
35+
#![feature(omit_gdb_pretty_printer_section)]
3536
#![omit_gdb_pretty_printer_section]
3637

3738
fn main() {

src/test/debuginfo/boxed-struct.rs

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
#![allow(unused_variables)]
3737
#![feature(box_syntax)]
38+
#![feature(omit_gdb_pretty_printer_section)]
3839
#![omit_gdb_pretty_printer_section]
3940

4041
struct StructWithSomePadding {

src/test/debuginfo/by-value-non-immediate-argument.rs

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
// lldb-check:[...]$6 = Case1 { x: 0, y: 8970181431921507452 }
7171
// lldb-command:continue
7272

73+
#![feature(omit_gdb_pretty_printer_section)]
7374
#![omit_gdb_pretty_printer_section]
7475

7576
#[derive(Clone)]

src/test/debuginfo/by-value-self-argument-in-trait-impl.rs

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
// lldb-check:[...]$2 = (4444.5, 5555, 6666, 7777.5)
4646
// lldb-command:continue
4747

48+
#![feature(omit_gdb_pretty_printer_section)]
4849
#![omit_gdb_pretty_printer_section]
4950

5051
trait Trait {

src/test/debuginfo/c-style-enum-in-composite.rs

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
// lldb-check:[...]$6 = (StructWithDrop { a: OneHundred, b: Vienna }, 9)
6565

6666
#![allow(unused_variables)]
67+
#![feature(omit_gdb_pretty_printer_section)]
6768
#![omit_gdb_pretty_printer_section]
6869

6970
use self::AnEnum::{OneHundred, OneThousand, OneMillion};

src/test/debuginfo/c-style-enum.rs

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999

100100
#![allow(unused_variables)]
101101
#![allow(dead_code)]
102+
#![feature(omit_gdb_pretty_printer_section)]
102103
#![omit_gdb_pretty_printer_section]
103104

104105
use self::AutoDiscriminant::{One, Two, Three};

src/test/debuginfo/closure-in-generic-function.rs

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
// lldb-command:continue
4747

4848
#![feature(box_syntax)]
49+
#![feature(omit_gdb_pretty_printer_section)]
4950
#![omit_gdb_pretty_printer_section]
5051

5152
fn some_generic_fun<T1, T2>(a: T1, b: T2) -> (T2, T1) {

src/test/debuginfo/constant-debug-locs.rs

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// compile-flags:-g
1414

1515
#![allow(dead_code, unused_variables)]
16+
#![feature(omit_gdb_pretty_printer_section)]
1617
#![omit_gdb_pretty_printer_section]
1718
#![feature(const_fn)]
1819
#![feature(static_mutex)]

src/test/debuginfo/constant-in-match-pattern.rs

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// compile-flags:-g
1414

1515
#![allow(dead_code, unused_variables)]
16+
#![feature(omit_gdb_pretty_printer_section)]
1617
#![omit_gdb_pretty_printer_section]
1718

1819
// This test makes sure that the compiler doesn't crash when trying to assign

src/test/debuginfo/cross-crate-spans.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11+
#![feature(omit_gdb_pretty_printer_section)]
1112
#![omit_gdb_pretty_printer_section]
1213

1314
// min-lldb-version: 310
@@ -20,7 +21,7 @@ extern crate cross_crate_spans;
2021

2122
// === GDB TESTS ===================================================================================
2223

23-
// gdb-command:break cross_crate_spans.rs:23
24+
// gdb-command:break cross_crate_spans.rs:24
2425
// gdb-command:run
2526

2627
// gdb-command:print result
@@ -43,7 +44,7 @@ extern crate cross_crate_spans;
4344

4445
// === LLDB TESTS ==================================================================================
4546

46-
// lldb-command:b cross_crate_spans.rs:23
47+
// lldb-command:b cross_crate_spans.rs:24
4748
// lldb-command:run
4849

4950
// lldb-command:print result

src/test/debuginfo/destructured-fn-argument.rs

+1
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@
312312
#![allow(unused_variables)]
313313
#![feature(box_patterns)]
314314
#![feature(box_syntax)]
315+
#![feature(omit_gdb_pretty_printer_section)]
315316
#![omit_gdb_pretty_printer_section]
316317

317318
use self::Univariant::Unit;

src/test/debuginfo/destructured-for-loop-variable.rs

+1
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@
154154
#![allow(unused_variables)]
155155
#![feature(box_patterns)]
156156
#![feature(box_syntax)]
157+
#![feature(omit_gdb_pretty_printer_section)]
157158
#![omit_gdb_pretty_printer_section]
158159

159160
struct Struct {

src/test/debuginfo/destructured-local.rs

+1
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@
245245
#![allow(unused_variables)]
246246
#![feature(box_patterns)]
247247
#![feature(box_syntax)]
248+
#![feature(omit_gdb_pretty_printer_section)]
248249
#![omit_gdb_pretty_printer_section]
249250

250251
use self::Univariant::Unit;

src/test/debuginfo/evec-in-struct.rs

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
// lldb-check:[...]$4 = StructPaddedAtEnd { x: [22, 23], y: [24, 25] }
5151

5252
#![allow(unused_variables)]
53+
#![feature(omit_gdb_pretty_printer_section)]
5354
#![omit_gdb_pretty_printer_section]
5455

5556
struct NoPadding1 {

src/test/debuginfo/extern-c-fn.rs

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444

4545
#![allow(unused_variables)]
4646
#![allow(dead_code)]
47+
#![feature(omit_gdb_pretty_printer_section)]
4748
#![omit_gdb_pretty_printer_section]
4849

4950

src/test/debuginfo/function-arg-initialization.rs

+1
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@
224224

225225

226226
#![allow(unused_variables)]
227+
#![feature(omit_gdb_pretty_printer_section)]
227228
#![omit_gdb_pretty_printer_section]
228229

229230
fn immediate_args(a: isize, b: bool, c: f64) {

src/test/debuginfo/function-arguments.rs

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
// lldb-command:continue
4646

4747

48+
#![feature(omit_gdb_pretty_printer_section)]
4849
#![omit_gdb_pretty_printer_section]
4950

5051
fn main() {

src/test/debuginfo/function-prologue-stepping-no-stack-check.rs

+1
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@
247247
// lldb-command:continue
248248

249249
#![allow(dead_code, unused_assignments, unused_variables)]
250+
#![feature(omit_gdb_pretty_printer_section)]
250251
#![omit_gdb_pretty_printer_section]
251252

252253
#[no_stack_check]

src/test/debuginfo/function-prologue-stepping-regular.rs

+1
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126
// lldb-command:continue
127127

128128
#![allow(unused_variables)]
129+
#![feature(omit_gdb_pretty_printer_section)]
129130
#![omit_gdb_pretty_printer_section]
130131

131132
fn immediate_args(a: isize, b: bool, c: f64) {

src/test/debuginfo/generic-enum-with-different-disr-sizes.rs

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262

6363
#![allow(unused_variables)]
6464
#![allow(dead_code)]
65+
#![feature(omit_gdb_pretty_printer_section)]
6566
#![omit_gdb_pretty_printer_section]
6667

6768
// This test case makes sure that we get correct type descriptions for the enum

src/test/debuginfo/generic-function.rs

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
// lldb-check:[...]$8 = ((5, Struct { a: 6, b: 7.5 }), (Struct { a: 6, b: 7.5 }, 5))
7070
// lldb-command:continue
7171

72+
#![feature(omit_gdb_pretty_printer_section)]
7273
#![omit_gdb_pretty_printer_section]
7374

7475
#[derive(Clone)]

src/test/debuginfo/generic-functions-nested.rs

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
// lldb-command:continue
7171

7272

73+
#![feature(omit_gdb_pretty_printer_section)]
7374
#![omit_gdb_pretty_printer_section]
7475

7576
fn outer<TA: Clone>(a: TA) {

src/test/debuginfo/generic-method-on-generic-struct.rs

+1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
// lldb-command:continue
113113

114114
#![feature(box_syntax)]
115+
#![feature(omit_gdb_pretty_printer_section)]
115116
#![omit_gdb_pretty_printer_section]
116117

117118
#[derive(Copy, Clone)]

src/test/debuginfo/generic-static-method-on-struct-and-enum.rs

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
// gdb-command:continue
3232

3333

34+
#![feature(omit_gdb_pretty_printer_section)]
3435
#![omit_gdb_pretty_printer_section]
3536

3637
struct Struct {

src/test/debuginfo/generic-struct-style-enum.rs

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
// gdb-check:$4 = {{a = -1}}
3030

3131

32+
#![feature(omit_gdb_pretty_printer_section)]
3233
#![omit_gdb_pretty_printer_section]
3334

3435
use self::Regular::{Case1, Case2, Case3};

src/test/debuginfo/generic-struct.rs

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
// lldb-check:[...]$3 = AGenericStruct<f64, generic_struct::AGenericStruct<i32, f64>> { key: 6.5, value: AGenericStruct<i32, f64> { key: 7, value: 8.5 } }
4242

4343

44+
#![feature(omit_gdb_pretty_printer_section)]
4445
#![omit_gdb_pretty_printer_section]
4546

4647
struct AGenericStruct<TKey, TValue> {

src/test/debuginfo/generic-tuple-style-enum.rs

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
// lldb-command:print univariant
4848
// lldb-check:[...]$3 = TheOnlyCase(-1)
4949

50+
#![feature(omit_gdb_pretty_printer_section)]
5051
#![omit_gdb_pretty_printer_section]
5152

5253
use self::Regular::{Case1, Case2, Case3};

0 commit comments

Comments
 (0)