Skip to content

Commit 70bdf2f

Browse files
bors[bot]euclio
andcommitted
Merge #20
20: move doc comments inside macro invocations r=Disasm a=euclio [rust-lang/rust#57882](rust-lang/rust#57882) is modifying the `unused_doc_comments` lint to fire on mistakenly documented macro expansions. Note that these doc comments are not currently used, since they are eliminated when the macro is expanded. A crater run detected that this crate will break due to this change, likely because of the use of `deny(unused_doc_comments)` or `deny(warnings)`. While this kind of breakage is allowed under Rust's stability guarantees, I am opening PRs to affected crates to reduce the impact. This PR protects your crate from future breakage by moving the offending doc comments inside the macro invocations. Co-authored-by: Andy Russell <[email protected]>
2 parents c99d70b + 8cbb387 commit 70bdf2f

File tree

5 files changed

+89
-60
lines changed

5 files changed

+89
-60
lines changed

src/register/macros.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,8 @@ macro_rules! clear {
183183
}
184184

185185
macro_rules! set_csr {
186-
($set_field:ident, $e:expr) => {
186+
($(#[$attr:meta])*, $set_field:ident, $e:expr) => {
187+
$(#[$attr])*
187188
#[inline]
188189
pub unsafe fn $set_field() {
189190
_set($e);
@@ -192,7 +193,8 @@ macro_rules! set_csr {
192193
}
193194

194195
macro_rules! clear_csr {
195-
($clear_field:ident, $e:expr) => {
196+
($(#[$attr:meta])*, $clear_field:ident, $e:expr) => {
197+
$(#[$attr])*
196198
#[inline]
197199
pub unsafe fn $clear_field() {
198200
_clear($e);
@@ -201,8 +203,8 @@ macro_rules! clear_csr {
201203
}
202204

203205
macro_rules! set_clear_csr {
204-
($set_field:ident, $clear_field:ident, $e:expr) => {
205-
set_csr!($set_field, $e);
206-
clear_csr!($clear_field, $e);
206+
($(#[$attr:meta])*, $set_field:ident, $clear_field:ident, $e:expr) => {
207+
set_csr!($(#[$attr])*, $set_field, $e);
208+
clear_csr!($(#[$attr])*, $clear_field, $e);
207209
}
208-
}
210+
}

src/register/mie.rs

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -72,21 +72,30 @@ read_csr_as!(Mie, 0x304, __read_mie);
7272
set!(0x304, __set_mie);
7373
clear!(0x304, __clear_mie);
7474

75-
/// User Software Interrupt Enable
76-
set_clear_csr!(set_usoft, clear_usoft, 1 << 0);
77-
/// Supervisor Software Interrupt Enable
78-
set_clear_csr!(set_ssoft, clear_ssoft, 1 << 1);
79-
/// Machine Software Interrupt Enable
80-
set_clear_csr!(set_msoft, clear_msoft, 1 << 3);
81-
/// User Timer Interrupt Enable
82-
set_clear_csr!(set_utimer, clear_utimer, 1 << 4);
83-
/// Supervisor Timer Interrupt Enable
84-
set_clear_csr!(set_stimer, clear_stimer, 1 << 5);
85-
/// Machine Timer Interrupt Enable
86-
set_clear_csr!(set_mtimer, clear_mtimer, 1 << 7);
87-
/// User External Interrupt Enable
88-
set_clear_csr!(set_uext, clear_uext, 1 << 8);
89-
/// Supervisor External Interrupt Enable
90-
set_clear_csr!(set_sext, clear_sext, 1 << 9);
91-
/// Machine External Interrupt Enable
92-
set_clear_csr!(set_mext, clear_mext, 1 << 11);
75+
set_clear_csr!(
76+
/// User Software Interrupt Enable
77+
, set_usoft, clear_usoft, 1 << 0);
78+
set_clear_csr!(
79+
/// Supervisor Software Interrupt Enable
80+
, set_ssoft, clear_ssoft, 1 << 1);
81+
set_clear_csr!(
82+
/// Machine Software Interrupt Enable
83+
, set_msoft, clear_msoft, 1 << 3);
84+
set_clear_csr!(
85+
/// User Timer Interrupt Enable
86+
, set_utimer, clear_utimer, 1 << 4);
87+
set_clear_csr!(
88+
/// Supervisor Timer Interrupt Enable
89+
, set_stimer, clear_stimer, 1 << 5);
90+
set_clear_csr!(
91+
/// Machine Timer Interrupt Enable
92+
, set_mtimer, clear_mtimer, 1 << 7);
93+
set_clear_csr!(
94+
/// User External Interrupt Enable
95+
, set_uext, clear_uext, 1 << 8);
96+
set_clear_csr!(
97+
/// Supervisor External Interrupt Enable
98+
, set_sext, clear_sext, 1 << 9);
99+
set_clear_csr!(
100+
/// Machine External Interrupt Enable
101+
, set_mext, clear_mext, 1 << 11);

src/register/mstatus.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,18 +83,24 @@ read_csr_as!(Mstatus, 0x300, __read_mstatus);
8383
set!(0x300, __set_mstatus);
8484
clear!(0x300, __clear_mstatus);
8585

86-
/// User Interrupt Enable
87-
set_clear_csr!(set_uie, clear_uie, 1 << 0);
88-
/// Supervisor Interrupt Enable
89-
set_clear_csr!(set_sie, clear_sie, 1 << 1);
90-
/// Machine Interrupt Enable
91-
set_clear_csr!(set_mie, clear_mie, 1 << 3);
92-
/// User Previous Interrupt Enable
93-
set_csr!(set_upie, 1 << 4);
94-
/// Supervisor Previous Interrupt Enable
95-
set_csr!(set_spie, 1 << 5);
96-
/// Machine Previous Interrupt Enable
97-
set_csr!(set_mpie, 1 << 7);
86+
set_clear_csr!(
87+
/// User Interrupt Enable
88+
, set_uie, clear_uie, 1 << 0);
89+
set_clear_csr!(
90+
/// Supervisor Interrupt Enable
91+
, set_sie, clear_sie, 1 << 1);
92+
set_clear_csr!(
93+
/// Machine Interrupt Enable
94+
, set_mie, clear_mie, 1 << 3);
95+
set_csr!(
96+
/// User Previous Interrupt Enable
97+
, set_upie, 1 << 4);
98+
set_csr!(
99+
/// Supervisor Previous Interrupt Enable
100+
, set_spie, 1 << 5);
101+
set_csr!(
102+
/// Machine Previous Interrupt Enable
103+
, set_mpie, 1 << 7);
98104
/// Supervisor Previous Privilege Mode
99105
#[inline]
100106
pub unsafe fn set_spp(spp: SPP) {

src/register/sie.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,21 @@ read_csr_as!(Sie, 0x104, __read_sie);
5656
set!(0x104, __set_sie);
5757
clear!(0x104, __clear_sie);
5858

59-
/// User Software Interrupt Enable
60-
set_clear_csr!(set_usoft, clear_usoft, 1 << 0);
61-
/// Supervisor Software Interrupt Enable
62-
set_clear_csr!(set_ssoft, clear_ssoft, 1 << 1);
63-
/// User Timer Interrupt Enable
64-
set_clear_csr!(set_utimer, clear_utimer, 1 << 4);
65-
/// Supervisor Timer Interrupt Enable
66-
set_clear_csr!(set_stimer, clear_stimer, 1 << 5);
67-
/// User External Interrupt Enable
68-
set_clear_csr!(set_uext, clear_uext, 1 << 8);
69-
/// Supervisor External Interrupt Enable
70-
set_clear_csr!(set_sext, clear_sext, 1 << 9);
59+
set_clear_csr!(
60+
/// User Software Interrupt Enable
61+
, set_usoft, clear_usoft, 1 << 0);
62+
set_clear_csr!(
63+
/// Supervisor Software Interrupt Enable
64+
, set_ssoft, clear_ssoft, 1 << 1);
65+
set_clear_csr!(
66+
/// User Timer Interrupt Enable
67+
, set_utimer, clear_utimer, 1 << 4);
68+
set_clear_csr!(
69+
/// Supervisor Timer Interrupt Enable
70+
, set_stimer, clear_stimer, 1 << 5);
71+
set_clear_csr!(
72+
/// User External Interrupt Enable
73+
, set_uext, clear_uext, 1 << 8);
74+
set_clear_csr!(
75+
/// Supervisor External Interrupt Enable
76+
, set_sext, clear_sext, 1 << 9);

src/register/sstatus.rs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,24 @@ read_csr_as!(Sstatus, 0x100, __read_sstatus);
108108
set!(0x100, __set_sstatus);
109109
clear!(0x100, __clear_sstatus);
110110

111-
/// User Interrupt Enable
112-
set_clear_csr!(set_uie, clear_uie, 1 << 0);
113-
/// Supervisor Interrupt Enable
114-
set_clear_csr!(set_sie, clear_sie, 1 << 1);
115-
/// User Previous Interrupt Enable
116-
set_csr!(set_upie, 1 << 4);
117-
/// Supervisor Previous Interrupt Enable
118-
set_csr!(set_spie, 1 << 5);
119-
/// Make eXecutable Readable
120-
set_clear_csr!(set_mxr, clear_mxr, 1 << 19);
121-
/// Permit Supervisor User Memory access
122-
set_clear_csr!(set_sum, clear_sum, 1 << 18);
111+
set_clear_csr!(
112+
/// User Interrupt Enable
113+
, set_uie, clear_uie, 1 << 0);
114+
set_clear_csr!(
115+
/// Supervisor Interrupt Enable
116+
, set_sie, clear_sie, 1 << 1);
117+
set_csr!(
118+
/// User Previous Interrupt Enable
119+
, set_upie, 1 << 4);
120+
set_csr!(
121+
/// Supervisor Previous Interrupt Enable
122+
, set_spie, 1 << 5);
123+
set_clear_csr!(
124+
/// Make eXecutable Readable
125+
, set_mxr, clear_mxr, 1 << 19);
126+
set_clear_csr!(
127+
/// Permit Supervisor User Memory access
128+
, set_sum, clear_sum, 1 << 18);
123129

124130
/// Supervisor Previous Privilege Mode
125131
#[inline]

0 commit comments

Comments
 (0)