20: move doc comments inside macro invocations r=Disasm a=euclio

[rust-lang/rust#57882](https://github.com/rust-lang/rust/pull/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 <arussell123@gmail.com>
This commit is contained in:
bors[bot] 2019-02-19 20:31:01 +00:00
commit 70bdf2f2f7
5 changed files with 89 additions and 60 deletions

View File

@ -183,7 +183,8 @@ macro_rules! clear {
} }
macro_rules! set_csr { macro_rules! set_csr {
($set_field:ident, $e:expr) => { ($(#[$attr:meta])*, $set_field:ident, $e:expr) => {
$(#[$attr])*
#[inline] #[inline]
pub unsafe fn $set_field() { pub unsafe fn $set_field() {
_set($e); _set($e);
@ -192,7 +193,8 @@ macro_rules! set_csr {
} }
macro_rules! clear_csr { macro_rules! clear_csr {
($clear_field:ident, $e:expr) => { ($(#[$attr:meta])*, $clear_field:ident, $e:expr) => {
$(#[$attr])*
#[inline] #[inline]
pub unsafe fn $clear_field() { pub unsafe fn $clear_field() {
_clear($e); _clear($e);
@ -201,8 +203,8 @@ macro_rules! clear_csr {
} }
macro_rules! set_clear_csr { macro_rules! set_clear_csr {
($set_field:ident, $clear_field:ident, $e:expr) => { ($(#[$attr:meta])*, $set_field:ident, $clear_field:ident, $e:expr) => {
set_csr!($set_field, $e); set_csr!($(#[$attr])*, $set_field, $e);
clear_csr!($clear_field, $e); clear_csr!($(#[$attr])*, $clear_field, $e);
} }
} }

View File

@ -72,21 +72,30 @@ read_csr_as!(Mie, 0x304, __read_mie);
set!(0x304, __set_mie); set!(0x304, __set_mie);
clear!(0x304, __clear_mie); clear!(0x304, __clear_mie);
/// User Software Interrupt Enable set_clear_csr!(
set_clear_csr!(set_usoft, clear_usoft, 1 << 0); /// User Software Interrupt Enable
/// Supervisor Software Interrupt Enable , set_usoft, clear_usoft, 1 << 0);
set_clear_csr!(set_ssoft, clear_ssoft, 1 << 1); set_clear_csr!(
/// Machine Software Interrupt Enable /// Supervisor Software Interrupt Enable
set_clear_csr!(set_msoft, clear_msoft, 1 << 3); , set_ssoft, clear_ssoft, 1 << 1);
/// User Timer Interrupt Enable set_clear_csr!(
set_clear_csr!(set_utimer, clear_utimer, 1 << 4); /// Machine Software Interrupt Enable
/// Supervisor Timer Interrupt Enable , set_msoft, clear_msoft, 1 << 3);
set_clear_csr!(set_stimer, clear_stimer, 1 << 5); set_clear_csr!(
/// Machine Timer Interrupt Enable /// User Timer Interrupt Enable
set_clear_csr!(set_mtimer, clear_mtimer, 1 << 7); , set_utimer, clear_utimer, 1 << 4);
/// User External Interrupt Enable set_clear_csr!(
set_clear_csr!(set_uext, clear_uext, 1 << 8); /// Supervisor Timer Interrupt Enable
/// Supervisor External Interrupt Enable , set_stimer, clear_stimer, 1 << 5);
set_clear_csr!(set_sext, clear_sext, 1 << 9); set_clear_csr!(
/// Machine External Interrupt Enable /// Machine Timer Interrupt Enable
set_clear_csr!(set_mext, clear_mext, 1 << 11); , set_mtimer, clear_mtimer, 1 << 7);
set_clear_csr!(
/// User External Interrupt Enable
, set_uext, clear_uext, 1 << 8);
set_clear_csr!(
/// Supervisor External Interrupt Enable
, set_sext, clear_sext, 1 << 9);
set_clear_csr!(
/// Machine External Interrupt Enable
, set_mext, clear_mext, 1 << 11);

View File

@ -83,18 +83,24 @@ read_csr_as!(Mstatus, 0x300, __read_mstatus);
set!(0x300, __set_mstatus); set!(0x300, __set_mstatus);
clear!(0x300, __clear_mstatus); clear!(0x300, __clear_mstatus);
/// User Interrupt Enable set_clear_csr!(
set_clear_csr!(set_uie, clear_uie, 1 << 0); /// User Interrupt Enable
/// Supervisor Interrupt Enable , set_uie, clear_uie, 1 << 0);
set_clear_csr!(set_sie, clear_sie, 1 << 1); set_clear_csr!(
/// Machine Interrupt Enable /// Supervisor Interrupt Enable
set_clear_csr!(set_mie, clear_mie, 1 << 3); , set_sie, clear_sie, 1 << 1);
/// User Previous Interrupt Enable set_clear_csr!(
set_csr!(set_upie, 1 << 4); /// Machine Interrupt Enable
/// Supervisor Previous Interrupt Enable , set_mie, clear_mie, 1 << 3);
set_csr!(set_spie, 1 << 5); set_csr!(
/// Machine Previous Interrupt Enable /// User Previous Interrupt Enable
set_csr!(set_mpie, 1 << 7); , set_upie, 1 << 4);
set_csr!(
/// Supervisor Previous Interrupt Enable
, set_spie, 1 << 5);
set_csr!(
/// Machine Previous Interrupt Enable
, set_mpie, 1 << 7);
/// Supervisor Previous Privilege Mode /// Supervisor Previous Privilege Mode
#[inline] #[inline]
pub unsafe fn set_spp(spp: SPP) { pub unsafe fn set_spp(spp: SPP) {

View File

@ -56,15 +56,21 @@ read_csr_as!(Sie, 0x104, __read_sie);
set!(0x104, __set_sie); set!(0x104, __set_sie);
clear!(0x104, __clear_sie); clear!(0x104, __clear_sie);
/// User Software Interrupt Enable set_clear_csr!(
set_clear_csr!(set_usoft, clear_usoft, 1 << 0); /// User Software Interrupt Enable
/// Supervisor Software Interrupt Enable , set_usoft, clear_usoft, 1 << 0);
set_clear_csr!(set_ssoft, clear_ssoft, 1 << 1); set_clear_csr!(
/// User Timer Interrupt Enable /// Supervisor Software Interrupt Enable
set_clear_csr!(set_utimer, clear_utimer, 1 << 4); , set_ssoft, clear_ssoft, 1 << 1);
/// Supervisor Timer Interrupt Enable set_clear_csr!(
set_clear_csr!(set_stimer, clear_stimer, 1 << 5); /// User Timer Interrupt Enable
/// User External Interrupt Enable , set_utimer, clear_utimer, 1 << 4);
set_clear_csr!(set_uext, clear_uext, 1 << 8); set_clear_csr!(
/// Supervisor External Interrupt Enable /// Supervisor Timer Interrupt Enable
set_clear_csr!(set_sext, clear_sext, 1 << 9); , set_stimer, clear_stimer, 1 << 5);
set_clear_csr!(
/// User External Interrupt Enable
, set_uext, clear_uext, 1 << 8);
set_clear_csr!(
/// Supervisor External Interrupt Enable
, set_sext, clear_sext, 1 << 9);

View File

@ -108,18 +108,24 @@ read_csr_as!(Sstatus, 0x100, __read_sstatus);
set!(0x100, __set_sstatus); set!(0x100, __set_sstatus);
clear!(0x100, __clear_sstatus); clear!(0x100, __clear_sstatus);
/// User Interrupt Enable set_clear_csr!(
set_clear_csr!(set_uie, clear_uie, 1 << 0); /// User Interrupt Enable
/// Supervisor Interrupt Enable , set_uie, clear_uie, 1 << 0);
set_clear_csr!(set_sie, clear_sie, 1 << 1); set_clear_csr!(
/// User Previous Interrupt Enable /// Supervisor Interrupt Enable
set_csr!(set_upie, 1 << 4); , set_sie, clear_sie, 1 << 1);
/// Supervisor Previous Interrupt Enable set_csr!(
set_csr!(set_spie, 1 << 5); /// User Previous Interrupt Enable
/// Make eXecutable Readable , set_upie, 1 << 4);
set_clear_csr!(set_mxr, clear_mxr, 1 << 19); set_csr!(
/// Permit Supervisor User Memory access /// Supervisor Previous Interrupt Enable
set_clear_csr!(set_sum, clear_sum, 1 << 18); , set_spie, 1 << 5);
set_clear_csr!(
/// Make eXecutable Readable
, set_mxr, clear_mxr, 1 << 19);
set_clear_csr!(
/// Permit Supervisor User Memory access
, set_sum, clear_sum, 1 << 18);
/// Supervisor Previous Privilege Mode /// Supervisor Previous Privilege Mode
#[inline] #[inline]