diff options
Diffstat (limited to 'src/libsyntax/diagnostics')
| -rw-r--r-- | src/libsyntax/diagnostics/macros.rs | 22 | ||||
| -rw-r--r-- | src/libsyntax/diagnostics/plugin.rs | 3 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/libsyntax/diagnostics/macros.rs b/src/libsyntax/diagnostics/macros.rs index b0260e1180f..b4af7205c42 100644 --- a/src/libsyntax/diagnostics/macros.rs +++ b/src/libsyntax/diagnostics/macros.rs @@ -49,3 +49,25 @@ macro_rules! span_err( ($session).span_err_with_code($span, format!($($arg),*).as_slice(), stringify!($code)) }) ) + +#[macro_export] +macro_rules! span_warn( + ($session:expr, $span:expr, $code:ident, $($arg:expr),*) => ({ + __diagnostic_used!($code); + ($session).span_warn_with_code($span, format!($($arg),*).as_slice(), stringify!($code)) + }) +) + +#[macro_export] +macro_rules! span_note( + ($session:expr, $span:expr, $($arg:expr),*) => ({ + ($session).span_note($span, format!($($arg),*).as_slice()) + }) +) + +#[macro_export] +macro_rules! register_diagnostics( + ($($code:tt),*) => ( + $(register_diagnostic!($code))* + ) +) diff --git a/src/libsyntax/diagnostics/plugin.rs b/src/libsyntax/diagnostics/plugin.rs index 6582d2e44c8..209296989fa 100644 --- a/src/libsyntax/diagnostics/plugin.rs +++ b/src/libsyntax/diagnostics/plugin.rs @@ -54,7 +54,8 @@ pub fn expand_diagnostic_used(ecx: &mut ExtCtxt, span: Span, with_registered_diagnostics(|diagnostics| { if !diagnostics.contains_key(&code.name) { ecx.span_err(span, format!( - "unknown diagnostic code {}", token::get_ident(code).get() + "unknown diagnostic code {}; add to librustc/diagnostics.rs", + token::get_ident(code).get() ).as_slice()); } () |
