Properly check arguments of `#[macro_export]`
diff --git a/compiler/rustc_attr_parsing/src/attributes/macro_attrs.rs b/compiler/rustc_attr_parsing/src/attributes/macro_attrs.rs
index 067590d..ff0ab27 100644
--- a/compiler/rustc_attr_parsing/src/attributes/macro_attrs.rs
+++ b/compiler/rustc_attr_parsing/src/attributes/macro_attrs.rs
@@ -145,7 +145,7 @@ fn convert(cx: &mut AcceptContext<'_, '_>, args: &ArgParser) -> Option<Attribute
                     cx.adcx().warn_ill_formed_attribute_input(INVALID_MACRO_EXPORT_ARGUMENTS);
                     return None;
                 };
-                match l.meta_item().and_then(|i| i.path().word_sym()) {
+                match l.meta_item_no_args().and_then(|i| i.path().word_sym()) {
                     Some(sym::local_inner_macros) => true,
                     _ => {
                         cx.adcx().warn_ill_formed_attribute_input(INVALID_MACRO_EXPORT_ARGUMENTS);
diff --git a/tests/ui/attributes/args-checked.rs b/tests/ui/attributes/args-checked.rs
index 0f4d933..c5abfd6 100644
--- a/tests/ui/attributes/args-checked.rs
+++ b/tests/ui/attributes/args-checked.rs
@@ -8,4 +8,14 @@
 //~^ ERROR malformed
 fn main() {
 
+}
+
+#[macro_export(local_inner_macros = 5)]
+//~^ ERROR valid forms for the attribute are
+//~| WARN previously accepted
+#[macro_export(local_inner_macros(x, y, z))]
+//~^ ERROR valid forms for the attribute are
+//~| WARN previously accepted
+macro_rules! m {
+    () => {};
 }
\ No newline at end of file
diff --git a/tests/ui/attributes/args-checked.stderr b/tests/ui/attributes/args-checked.stderr
index cdc08bc..2d3cf21 100644
--- a/tests/ui/attributes/args-checked.stderr
+++ b/tests/ui/attributes/args-checked.stderr
@@ -70,6 +70,47 @@
 LL + #[instruction_set(set)]
    |
 
-error: aborting due to 4 previous errors
+error: valid forms for the attribute are `#[macro_export(local_inner_macros)]` and `#[macro_export]`
+  --> $DIR/args-checked.rs:13:1
+   |
+LL | #[macro_export(local_inner_macros = 5)]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+   = note: `#[deny(invalid_macro_export_arguments)]` (part of `#[deny(future_incompatible)]`) on by default
+
+error: valid forms for the attribute are `#[macro_export(local_inner_macros)]` and `#[macro_export]`
+  --> $DIR/args-checked.rs:16:1
+   |
+LL | #[macro_export(local_inner_macros(x, y, z))]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+
+error: aborting due to 6 previous errors
 
 For more information about this error, try `rustc --explain E0539`.
+Future incompatibility report: Future breakage diagnostic:
+error: valid forms for the attribute are `#[macro_export(local_inner_macros)]` and `#[macro_export]`
+  --> $DIR/args-checked.rs:13:1
+   |
+LL | #[macro_export(local_inner_macros = 5)]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+   = note: `#[deny(invalid_macro_export_arguments)]` (part of `#[deny(future_incompatible)]`) on by default
+
+Future breakage diagnostic:
+error: valid forms for the attribute are `#[macro_export(local_inner_macros)]` and `#[macro_export]`
+  --> $DIR/args-checked.rs:16:1
+   |
+LL | #[macro_export(local_inner_macros(x, y, z))]
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
+   = note: `#[deny(invalid_macro_export_arguments)]` (part of `#[deny(future_incompatible)]`) on by default
+