#[rustc_builtin_macro]
macro_rules! compile_error {
  () => {{}};
}
fn main () {
  let message = "error message";
  compile_error! (message); // { dg-error "argument must be a string literal" "" }
  compile_error! (); // { dg-error "macro takes 1 argument" "" }
  compile_error! ("a", "b"); // { dg-error "macro takes 1 argument" "" }
  compile_error! ("expected error message"); // { dg-error "expected error message" }
  compile_error! ("expected error message",); // { dg-error "expected error message" }
}