about summary refs log tree commit diff
path: root/tests/ui/proc-macro
diff options
context:
space:
mode:
author许杰友 Jieyou Xu (Joe) <jieyouxu@outlook.com>2024-02-16 20:02:50 +0000
committer许杰友 Jieyou Xu (Joe) <jieyouxu@outlook.com>2024-02-16 20:02:50 +0000
commitec2cc761bc7067712ecc7734502f703fe3b024c8 (patch)
tree7ab55cd9562da45b86c959f1b98c199b2b03ca92 /tests/ui/proc-macro
parente53d6dd35bb38b81dff4b00497f4c152e9009499 (diff)
downloadrust-ec2cc761bc7067712ecc7734502f703fe3b024c8.tar.gz
rust-ec2cc761bc7067712ecc7734502f703fe3b024c8.zip
[AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives
Diffstat (limited to 'tests/ui/proc-macro')
-rw-r--r--tests/ui/proc-macro/add-impl.rs4
-rw-r--r--tests/ui/proc-macro/allowed-attr-stmt-expr.rs8
-rw-r--r--tests/ui/proc-macro/allowed-signatures.rs6
-rw-r--r--tests/ui/proc-macro/ambiguous-builtin-attrs-test.rs4
-rw-r--r--tests/ui/proc-macro/ambiguous-builtin-attrs.rs4
-rw-r--r--tests/ui/proc-macro/amputate-span.fixed8
-rw-r--r--tests/ui/proc-macro/amputate-span.rs8
-rw-r--r--tests/ui/proc-macro/append-impl.rs4
-rw-r--r--tests/ui/proc-macro/attr-args.rs4
-rw-r--r--tests/ui/proc-macro/attr-cfg.rs6
-rw-r--r--tests/ui/proc-macro/attr-complex-fn.rs6
-rw-r--r--tests/ui/proc-macro/attr-invalid-exprs.rs2
-rw-r--r--tests/ui/proc-macro/attr-on-trait.rs4
-rw-r--r--tests/ui/proc-macro/attr-stmt-expr-rpass.rs4
-rw-r--r--tests/ui/proc-macro/attr-stmt-expr.rs6
-rw-r--r--tests/ui/proc-macro/attribute-after-derive.rs6
-rw-r--r--tests/ui/proc-macro/attribute-spans-preserved.rs2
-rw-r--r--tests/ui/proc-macro/attribute-with-error.rs2
-rw-r--r--tests/ui/proc-macro/attribute.rs4
-rw-r--r--tests/ui/proc-macro/attributes-included.rs4
-rw-r--r--tests/ui/proc-macro/attributes-on-definitions.rs4
-rw-r--r--tests/ui/proc-macro/attributes-on-modules-fail.rs2
-rw-r--r--tests/ui/proc-macro/attributes-on-modules.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/add-impl.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/amputate-span.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/api/mod.rs6
-rw-r--r--tests/ui/proc-macro/auxiliary/append-impl.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/assert-span-pos.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attr-args.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attr-cfg.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attr-on-trait.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attr-stmt-expr.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attribute-spans-preserved.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attributes-included.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/attributes-on-definitions.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/bang-macro.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/bang_proc_macro2.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/builtin-attrs.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/call-deprecated.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/call-site.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/cond_plugin.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/count_compound_ops.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/custom-attr-only-one-derive.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/custom-quote.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-a.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-atob.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-attr-cfg.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-b-rpass.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-b.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-bad.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-clona.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-ctod.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-foo.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-helper-shadowing-2.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-helper-shadowing.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-nothing.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-same-struct.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-two-attrs.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-union.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-unstable-2.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/derive-unstable.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/double.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/duplicate.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/edition-gated-async-move-syntax.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/edition-imports-2015.rs6
-rw-r--r--tests/ui/proc-macro/auxiliary/empty-crate.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/env.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/expand-expr.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/expand-with-a-macro.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/exports_no_mangle.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/first-second.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/gen-lifetime-token.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/gen-macro-rules-hygiene.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/gen-macro-rules.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/generate-dollar-ident.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/generate-mod.rs8
-rw-r--r--tests/ui/proc-macro/auxiliary/hygiene_example_codegen.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/invalid-punct-ident.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/is-available.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-104884.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-107113.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-118809.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-38586.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-39889.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-42708.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-50061.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-50493.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-59191.rs6
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-66286.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-75801.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-79242.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-79825.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-83510.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/issue-91800-macro.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/lifetimes-rpass.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/lifetimes.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/macro-only-syntax.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/make-macro.rs2
-rw-r--r--tests/ui/proc-macro/auxiliary/meta-macro.rs6
-rw-r--r--tests/ui/proc-macro/auxiliary/mixed-site-span.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/modify-ast.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/multiple-derives.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/multispan.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/negative-token.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/not-joint.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/parent-source-spans.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/print-tokens.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/proc-macro-panic.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/raw-ident.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/re-export.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/recollect.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/resolved-located-at.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/span-api-tests.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/span-from-proc-macro.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/subspan.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/test-macros.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/three-equals.rs4
-rw-r--r--tests/ui/proc-macro/auxiliary/weird-hygiene.rs4
-rw-r--r--tests/ui/proc-macro/bad-projection.rs4
-rw-r--r--tests/ui/proc-macro/bang-macro.rs4
-rw-r--r--tests/ui/proc-macro/break-token-spans.rs2
-rw-r--r--tests/ui/proc-macro/call-deprecated.rs4
-rw-r--r--tests/ui/proc-macro/call-site.rs4
-rw-r--r--tests/ui/proc-macro/capture-macro-rules-invoke.rs6
-rw-r--r--tests/ui/proc-macro/capture-unglued-token.rs6
-rw-r--r--tests/ui/proc-macro/cfg-eval-inner.rs6
-rw-r--r--tests/ui/proc-macro/cfg-eval.rs6
-rw-r--r--tests/ui/proc-macro/count_compound_ops.rs4
-rw-r--r--tests/ui/proc-macro/crate-attrs-multiple.rs4
-rw-r--r--tests/ui/proc-macro/crate-var.rs6
-rw-r--r--tests/ui/proc-macro/crt-static.rs14
-rw-r--r--tests/ui/proc-macro/custom-attr-only-one-derive.rs4
-rw-r--r--tests/ui/proc-macro/debug/auxiliary/macro-dump-debug.rs4
-rw-r--r--tests/ui/proc-macro/debug/dump-debug-span-debug.rs6
-rw-r--r--tests/ui/proc-macro/debug/dump-debug.rs4
-rw-r--r--tests/ui/proc-macro/debug/dump-debug.stderr60
-rw-r--r--tests/ui/proc-macro/define-two.rs4
-rw-r--r--tests/ui/proc-macro/derive-attr-cfg.rs4
-rw-r--r--tests/ui/proc-macro/derive-b.rs4
-rw-r--r--tests/ui/proc-macro/derive-bad.rs2
-rw-r--r--tests/ui/proc-macro/derive-expand-order.rs4
-rw-r--r--tests/ui/proc-macro/derive-helper-configured.rs4
-rw-r--r--tests/ui/proc-macro/derive-helper-legacy-limits.rs4
-rw-r--r--tests/ui/proc-macro/derive-helper-legacy-spurious.rs2
-rw-r--r--tests/ui/proc-macro/derive-helper-shadowed.rs6
-rw-r--r--tests/ui/proc-macro/derive-helper-shadowing-2.rs4
-rw-r--r--tests/ui/proc-macro/derive-helper-shadowing.rs6
-rw-r--r--tests/ui/proc-macro/derive-helper-vs-legacy.rs4
-rw-r--r--tests/ui/proc-macro/derive-in-mod.rs4
-rw-r--r--tests/ui/proc-macro/derive-multiple-with-packed.rs2
-rw-r--r--tests/ui/proc-macro/derive-same-struct.rs4
-rw-r--r--tests/ui/proc-macro/derive-still-gated.rs2
-rw-r--r--tests/ui/proc-macro/derive-test.rs6
-rw-r--r--tests/ui/proc-macro/derive-two-attrs.rs4
-rw-r--r--tests/ui/proc-macro/derive-union.rs4
-rw-r--r--tests/ui/proc-macro/disappearing-resolution.rs2
-rw-r--r--tests/ui/proc-macro/doc-comment-preserved.rs6
-rw-r--r--tests/ui/proc-macro/dollar-crate-issue-101211.rs6
-rw-r--r--tests/ui/proc-macro/dollar-crate-issue-57089.rs8
-rw-r--r--tests/ui/proc-macro/dollar-crate-issue-62325.rs10
-rw-r--r--tests/ui/proc-macro/dollar-crate.rs10
-rw-r--r--tests/ui/proc-macro/edition-gated-async-move-syntax-issue89699.rs6
-rw-r--r--tests/ui/proc-macro/edition-imports-2018.rs6
-rw-r--r--tests/ui/proc-macro/empty-crate.rs4
-rw-r--r--tests/ui/proc-macro/empty-where-clause.rs2
-rw-r--r--tests/ui/proc-macro/env.rs8
-rw-r--r--tests/ui/proc-macro/expand-expr.rs2
-rw-r--r--tests/ui/proc-macro/expand-to-derive.rs6
-rw-r--r--tests/ui/proc-macro/expand-to-unstable.rs2
-rw-r--r--tests/ui/proc-macro/expand-with-a-macro.rs6
-rw-r--r--tests/ui/proc-macro/export-macro.rs6
-rw-r--r--tests/ui/proc-macro/exports.rs4
-rw-r--r--tests/ui/proc-macro/expr-stmt-nonterminal-tokens.rs4
-rw-r--r--tests/ui/proc-macro/expr-stmt-nonterminal-tokens.stdout206
-rw-r--r--tests/ui/proc-macro/extern-prelude-extern-crate-proc-macro.rs4
-rw-r--r--tests/ui/proc-macro/gen-lifetime-token.rs4
-rw-r--r--tests/ui/proc-macro/gen-macro-rules-hygiene.rs2
-rw-r--r--tests/ui/proc-macro/gen-macro-rules.rs4
-rw-r--r--tests/ui/proc-macro/generate-dollar-ident.rs4
-rw-r--r--tests/ui/proc-macro/generate-mod.rs2
-rw-r--r--tests/ui/proc-macro/helper-attr-blocked-by-import-ambig.rs2
-rw-r--r--tests/ui/proc-macro/helper-attr-blocked-by-import.rs4
-rw-r--r--tests/ui/proc-macro/hygiene_example.rs6
-rw-r--r--tests/ui/proc-macro/import.rs2
-rw-r--r--tests/ui/proc-macro/inert-attribute-order.rs6
-rw-r--r--tests/ui/proc-macro/inner-attr-non-inline-mod.rs10
-rw-r--r--tests/ui/proc-macro/inner-attrs.rs8
-rw-r--r--tests/ui/proc-macro/input-interpolated.rs6
-rw-r--r--tests/ui/proc-macro/input-interpolated.stdout22
-rw-r--r--tests/ui/proc-macro/invalid-attributes.rs4
-rw-r--r--tests/ui/proc-macro/invalid-punct-ident-1.rs4
-rw-r--r--tests/ui/proc-macro/invalid-punct-ident-2.rs4
-rw-r--r--tests/ui/proc-macro/invalid-punct-ident-3.rs4
-rw-r--r--tests/ui/proc-macro/invalid-punct-ident-4.rs4
-rw-r--r--tests/ui/proc-macro/is-available.rs4
-rw-r--r--tests/ui/proc-macro/issue-104884-trait-impl-sugg-err.rs2
-rw-r--r--tests/ui/proc-macro/issue-107113-wrap.rs4
-rw-r--r--tests/ui/proc-macro/issue-118809.rs2
-rw-r--r--tests/ui/proc-macro/issue-36935.rs4
-rw-r--r--tests/ui/proc-macro/issue-37788.rs2
-rw-r--r--tests/ui/proc-macro/issue-38586.rs2
-rw-r--r--tests/ui/proc-macro/issue-39889.rs4
-rw-r--r--tests/ui/proc-macro/issue-42708.rs4
-rw-r--r--tests/ui/proc-macro/issue-50061.rs4
-rw-r--r--tests/ui/proc-macro/issue-50493.rs2
-rw-r--r--tests/ui/proc-macro/issue-53481.rs4
-rw-r--r--tests/ui/proc-macro/issue-59191-replace-root-with-fn.rs6
-rw-r--r--tests/ui/proc-macro/issue-66286.rs2
-rw-r--r--tests/ui/proc-macro/issue-73933-procedural-masquerade.rs4
-rw-r--r--tests/ui/proc-macro/issue-73933-procedural-masquerade.stdout8
-rw-r--r--tests/ui/proc-macro/issue-75734-pp-paren.rs6
-rw-r--r--tests/ui/proc-macro/issue-75801.rs2
-rw-r--r--tests/ui/proc-macro/issue-75930-derive-cfg.rs6
-rw-r--r--tests/ui/proc-macro/issue-76182-leading-vert-pat.rs6
-rw-r--r--tests/ui/proc-macro/issue-76270-panic-in-libproc-macro.rs6
-rw-r--r--tests/ui/proc-macro/issue-78675-captured-inner-attrs.rs8
-rw-r--r--tests/ui/proc-macro/issue-79148.rs4
-rw-r--r--tests/ui/proc-macro/issue-79242-slow-retokenize-check.rs4
-rw-r--r--tests/ui/proc-macro/issue-79825.rs4
-rw-r--r--tests/ui/proc-macro/issue-80760-empty-stmt.rs6
-rw-r--r--tests/ui/proc-macro/issue-81007-item-attrs.rs8
-rw-r--r--tests/ui/proc-macro/issue-81543-item-parse-err.rs2
-rw-r--r--tests/ui/proc-macro/issue-81555.rs4
-rw-r--r--tests/ui/proc-macro/issue-83510.rs2
-rw-r--r--tests/ui/proc-macro/issue-86781-bad-inner-doc.fixed4
-rw-r--r--tests/ui/proc-macro/issue-86781-bad-inner-doc.rs4
-rw-r--r--tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.fixed2
-rw-r--r--tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs2
-rw-r--r--tests/ui/proc-macro/issue-91800.rs2
-rw-r--r--tests/ui/proc-macro/item-error.rs2
-rw-r--r--tests/ui/proc-macro/keep-expr-tokens.rs4
-rw-r--r--tests/ui/proc-macro/lifetimes-rpass.rs4
-rw-r--r--tests/ui/proc-macro/lifetimes.rs2
-rw-r--r--tests/ui/proc-macro/lints_in_proc_macros.rs2
-rw-r--r--tests/ui/proc-macro/literal-to-string.rs6
-rw-r--r--tests/ui/proc-macro/literal-to-string.stdout30
-rw-r--r--tests/ui/proc-macro/load-panic-backtrace.rs12
-rw-r--r--tests/ui/proc-macro/load-panic.rs4
-rw-r--r--tests/ui/proc-macro/load-two.rs6
-rw-r--r--tests/ui/proc-macro/macro-brackets.rs2
-rw-r--r--tests/ui/proc-macro/macro-crate-multi-decorator.rs4
-rw-r--r--tests/ui/proc-macro/macro-namespace-reserved-2.rs4
-rw-r--r--tests/ui/proc-macro/macro-namespace-reserved.rs4
-rw-r--r--tests/ui/proc-macro/macro-quote-cond.rs4
-rw-r--r--tests/ui/proc-macro/macro-rules-derive-cfg.rs6
-rw-r--r--tests/ui/proc-macro/macro-rules-derive.rs2
-rw-r--r--tests/ui/proc-macro/macro-use-attr.rs4
-rw-r--r--tests/ui/proc-macro/macro-use-bang.rs4
-rw-r--r--tests/ui/proc-macro/macros-in-extern.rs6
-rw-r--r--tests/ui/proc-macro/macros-in-type.rs4
-rw-r--r--tests/ui/proc-macro/meta-delim.rs6
-rw-r--r--tests/ui/proc-macro/meta-macro-hygiene.rs16
-rw-r--r--tests/ui/proc-macro/meta-macro-hygiene.stdout16
-rw-r--r--tests/ui/proc-macro/meta-macro.rs10
-rw-r--r--tests/ui/proc-macro/mixed-site-span.rs2
-rw-r--r--tests/ui/proc-macro/modify-ast.rs4
-rw-r--r--tests/ui/proc-macro/module.rs2
-rw-r--r--tests/ui/proc-macro/module_with_attrs.rs2
-rw-r--r--tests/ui/proc-macro/multispan.rs2
-rw-r--r--tests/ui/proc-macro/negative-token.rs4
-rw-r--r--tests/ui/proc-macro/nested-derive-cfg.rs6
-rw-r--r--tests/ui/proc-macro/nested-item-spans.rs2
-rw-r--r--tests/ui/proc-macro/nested-macro-rules.rs10
-rw-r--r--tests/ui/proc-macro/nested-nonterminal-tokens.rs8
-rw-r--r--tests/ui/proc-macro/no-macro-use-attr.rs2
-rw-r--r--tests/ui/proc-macro/no-mangle-in-proc-macro-issue-111888.rs8
-rw-r--r--tests/ui/proc-macro/no-missing-docs.rs6
-rw-r--r--tests/ui/proc-macro/nodelim-groups.rs8
-rw-r--r--tests/ui/proc-macro/non-root.rs4
-rw-r--r--tests/ui/proc-macro/nonterminal-expansion.rs6
-rw-r--r--tests/ui/proc-macro/nonterminal-recollect-attr.rs6
-rw-r--r--tests/ui/proc-macro/nonterminal-token-hygiene.rs14
-rw-r--r--tests/ui/proc-macro/nonterminal-token-hygiene.stdout14
-rw-r--r--tests/ui/proc-macro/not-joint.rs4
-rw-r--r--tests/ui/proc-macro/out-of-line-mod.rs4
-rw-r--r--tests/ui/proc-macro/outer/inner.rs2
-rw-r--r--tests/ui/proc-macro/panic-abort.rs8
-rw-r--r--tests/ui/proc-macro/parent-source-spans.rs2
-rw-r--r--tests/ui/proc-macro/pretty-print-hack-hide.rs6
-rw-r--r--tests/ui/proc-macro/pretty-print-hack-show.rs8
-rw-r--r--tests/ui/proc-macro/pretty-print-hack/allsorts-rental-0.5.6/src/lib.rs2
-rw-r--r--tests/ui/proc-macro/pretty-print-hack/rental-0.5.5/src/lib.rs2
-rw-r--r--tests/ui/proc-macro/pretty-print-hack/rental-0.5.6/src/lib.rs2
-rw-r--r--tests/ui/proc-macro/pretty-print-tts.rs6
-rw-r--r--tests/ui/proc-macro/proc-macro-abi.rs4
-rw-r--r--tests/ui/proc-macro/proc-macro-attributes.rs2
-rw-r--r--tests/ui/proc-macro/proc-macro-deprecated-attr.rs6
-rw-r--r--tests/ui/proc-macro/proc-macro-gates.rs2
-rw-r--r--tests/ui/proc-macro/proc-macro-gates2.rs2
-rw-r--r--tests/ui/proc-macro/pub-at-crate-root.rs4
-rw-r--r--tests/ui/proc-macro/quote-debug.rs8
-rw-r--r--tests/ui/proc-macro/quote-debug.stdout8
-rw-r--r--tests/ui/proc-macro/raw-ident.rs2
-rw-r--r--tests/ui/proc-macro/reserved-macro-names.rs4
-rw-r--r--tests/ui/proc-macro/resolve-error.rs6
-rw-r--r--tests/ui/proc-macro/resolved-located-at.rs2
-rw-r--r--tests/ui/proc-macro/shadow.rs2
-rw-r--r--tests/ui/proc-macro/signature-proc-macro-attribute.rs4
-rw-r--r--tests/ui/proc-macro/signature-proc-macro-derive.rs4
-rw-r--r--tests/ui/proc-macro/signature-proc-macro.rs4
-rw-r--r--tests/ui/proc-macro/signature.rs4
-rw-r--r--tests/ui/proc-macro/smoke.rs4
-rw-r--r--tests/ui/proc-macro/span-absolute-posititions.rs2
-rw-r--r--tests/ui/proc-macro/span-api-tests.rs8
-rw-r--r--tests/ui/proc-macro/span-from-proc-macro.rs6
-rw-r--r--tests/ui/proc-macro/span-preservation.rs2
-rw-r--r--tests/ui/proc-macro/struct-field-macro.rs4
-rw-r--r--tests/ui/proc-macro/subspan.rs2
-rw-r--r--tests/ui/proc-macro/test-same-crate.rs2
-rw-r--r--tests/ui/proc-macro/test.rs6
-rw-r--r--tests/ui/proc-macro/three-equals.rs2
-rw-r--r--tests/ui/proc-macro/trailing-plus.rs6
-rw-r--r--tests/ui/proc-macro/trait-fn-args-2015.rs4
-rw-r--r--tests/ui/proc-macro/two-crate-types-1.rs6
-rw-r--r--tests/ui/proc-macro/two-crate-types-2.rs6
-rw-r--r--tests/ui/proc-macro/unsafe-foreign-mod.rs4
-rw-r--r--tests/ui/proc-macro/unsafe-mod.rs4
-rw-r--r--tests/ui/proc-macro/visibility-path.rs4
-rw-r--r--tests/ui/proc-macro/weird-braces.rs6
-rw-r--r--tests/ui/proc-macro/weird-hygiene.rs2
322 files changed, 872 insertions, 872 deletions
diff --git a/tests/ui/proc-macro/add-impl.rs b/tests/ui/proc-macro/add-impl.rs
index ff2897a5e86..7780c39f0c1 100644
--- a/tests/ui/proc-macro/add-impl.rs
+++ b/tests/ui/proc-macro/add-impl.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:add-impl.rs
+//@ run-pass
+//@ aux-build:add-impl.rs
 
 #[macro_use]
 extern crate add_impl;
diff --git a/tests/ui/proc-macro/allowed-attr-stmt-expr.rs b/tests/ui/proc-macro/allowed-attr-stmt-expr.rs
index 25243aeef3b..c5e3ffa1672 100644
--- a/tests/ui/proc-macro/allowed-attr-stmt-expr.rs
+++ b/tests/ui/proc-macro/allowed-attr-stmt-expr.rs
@@ -1,7 +1,7 @@
-// aux-build:attr-stmt-expr.rs
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
-// check-pass
+//@ aux-build:attr-stmt-expr.rs
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
+//@ check-pass
 
 #![feature(proc_macro_hygiene)]
 #![feature(stmt_expr_attributes)]
diff --git a/tests/ui/proc-macro/allowed-signatures.rs b/tests/ui/proc-macro/allowed-signatures.rs
index ce327901b1a..8dede3f50b5 100644
--- a/tests/ui/proc-macro/allowed-signatures.rs
+++ b/tests/ui/proc-macro/allowed-signatures.rs
@@ -1,6 +1,6 @@
-// check-pass
-// force-host
-// no-prefer-dynamic
+//@ check-pass
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![allow(private_interfaces)]
diff --git a/tests/ui/proc-macro/ambiguous-builtin-attrs-test.rs b/tests/ui/proc-macro/ambiguous-builtin-attrs-test.rs
index 6a47e50f62d..3f191cba745 100644
--- a/tests/ui/proc-macro/ambiguous-builtin-attrs-test.rs
+++ b/tests/ui/proc-macro/ambiguous-builtin-attrs-test.rs
@@ -1,5 +1,5 @@
-// aux-build:builtin-attrs.rs
-// compile-flags:--test
+//@ aux-build:builtin-attrs.rs
+//@ compile-flags:--test
 
 #![feature(decl_macro, test)]
 
diff --git a/tests/ui/proc-macro/ambiguous-builtin-attrs.rs b/tests/ui/proc-macro/ambiguous-builtin-attrs.rs
index 695ea69c8e6..c82663541a7 100644
--- a/tests/ui/proc-macro/ambiguous-builtin-attrs.rs
+++ b/tests/ui/proc-macro/ambiguous-builtin-attrs.rs
@@ -1,5 +1,5 @@
-// edition:2018
-// aux-build:builtin-attrs.rs
+//@ edition:2018
+//@ aux-build:builtin-attrs.rs
 #![feature(decl_macro)] //~ ERROR `feature` is ambiguous
 
 extern crate builtin_attrs;
diff --git a/tests/ui/proc-macro/amputate-span.fixed b/tests/ui/proc-macro/amputate-span.fixed
index 1afc3501a32..0fdaf01357c 100644
--- a/tests/ui/proc-macro/amputate-span.fixed
+++ b/tests/ui/proc-macro/amputate-span.fixed
@@ -1,7 +1,7 @@
-// aux-build:amputate-span.rs
-// run-rustfix
-// edition:2018
-// compile-flags: --extern amputate_span
+//@ aux-build:amputate-span.rs
+//@ run-rustfix
+//@ edition:2018
+//@ compile-flags: --extern amputate_span
 
 // This test has been crafted to ensure the following things:
 //
diff --git a/tests/ui/proc-macro/amputate-span.rs b/tests/ui/proc-macro/amputate-span.rs
index 894a06dd5f6..7081660bc29 100644
--- a/tests/ui/proc-macro/amputate-span.rs
+++ b/tests/ui/proc-macro/amputate-span.rs
@@ -1,7 +1,7 @@
-// aux-build:amputate-span.rs
-// run-rustfix
-// edition:2018
-// compile-flags: --extern amputate_span
+//@ aux-build:amputate-span.rs
+//@ run-rustfix
+//@ edition:2018
+//@ compile-flags: --extern amputate_span
 
 // This test has been crafted to ensure the following things:
 //
diff --git a/tests/ui/proc-macro/append-impl.rs b/tests/ui/proc-macro/append-impl.rs
index a4938401348..f5163e965a0 100644
--- a/tests/ui/proc-macro/append-impl.rs
+++ b/tests/ui/proc-macro/append-impl.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:append-impl.rs
+//@ run-pass
+//@ aux-build:append-impl.rs
 
 #![allow(warnings)]
 
diff --git a/tests/ui/proc-macro/attr-args.rs b/tests/ui/proc-macro/attr-args.rs
index 764f507abfc..ed7e96bcc89 100644
--- a/tests/ui/proc-macro/attr-args.rs
+++ b/tests/ui/proc-macro/attr-args.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:attr-args.rs
+//@ run-pass
+//@ aux-build:attr-args.rs
 
 #![allow(warnings)]
 
diff --git a/tests/ui/proc-macro/attr-cfg.rs b/tests/ui/proc-macro/attr-cfg.rs
index 2aed9e2e814..4679807ad79 100644
--- a/tests/ui/proc-macro/attr-cfg.rs
+++ b/tests/ui/proc-macro/attr-cfg.rs
@@ -1,6 +1,6 @@
-// run-pass
-// aux-build:attr-cfg.rs
-// revisions: foo bar
+//@ run-pass
+//@ aux-build:attr-cfg.rs
+//@ revisions: foo bar
 
 extern crate attr_cfg;
 use attr_cfg::attr_cfg;
diff --git a/tests/ui/proc-macro/attr-complex-fn.rs b/tests/ui/proc-macro/attr-complex-fn.rs
index 47734c94fe2..7baf469d7d0 100644
--- a/tests/ui/proc-macro/attr-complex-fn.rs
+++ b/tests/ui/proc-macro/attr-complex-fn.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug --error-format human
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug --error-format human
+//@ aux-build:test-macros.rs
 
 #![feature(stmt_expr_attributes)]
 #![feature(custom_inner_attributes)]
diff --git a/tests/ui/proc-macro/attr-invalid-exprs.rs b/tests/ui/proc-macro/attr-invalid-exprs.rs
index 9dcffc3405e..3d8806ee800 100644
--- a/tests/ui/proc-macro/attr-invalid-exprs.rs
+++ b/tests/ui/proc-macro/attr-invalid-exprs.rs
@@ -1,6 +1,6 @@
 //! Attributes producing expressions in invalid locations
 
-// aux-build:attr-stmt-expr.rs
+//@ aux-build:attr-stmt-expr.rs
 
 #![feature(proc_macro_hygiene)]
 #![feature(stmt_expr_attributes)]
diff --git a/tests/ui/proc-macro/attr-on-trait.rs b/tests/ui/proc-macro/attr-on-trait.rs
index e0edee630a4..659b461f759 100644
--- a/tests/ui/proc-macro/attr-on-trait.rs
+++ b/tests/ui/proc-macro/attr-on-trait.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:attr-on-trait.rs
+//@ run-pass
+//@ aux-build:attr-on-trait.rs
 
 extern crate attr_on_trait;
 
diff --git a/tests/ui/proc-macro/attr-stmt-expr-rpass.rs b/tests/ui/proc-macro/attr-stmt-expr-rpass.rs
index 16b8fabfc3f..18e477f0129 100644
--- a/tests/ui/proc-macro/attr-stmt-expr-rpass.rs
+++ b/tests/ui/proc-macro/attr-stmt-expr-rpass.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:attr-stmt-expr-rpass.rs
+//@ run-pass
+//@ aux-build:attr-stmt-expr-rpass.rs
 
 #![feature(stmt_expr_attributes, proc_macro_hygiene)]
 
diff --git a/tests/ui/proc-macro/attr-stmt-expr.rs b/tests/ui/proc-macro/attr-stmt-expr.rs
index 0403684cda0..f33c686f284 100644
--- a/tests/ui/proc-macro/attr-stmt-expr.rs
+++ b/tests/ui/proc-macro/attr-stmt-expr.rs
@@ -1,6 +1,6 @@
-// aux-build:attr-stmt-expr.rs
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
+//@ aux-build:attr-stmt-expr.rs
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
 
 #![feature(proc_macro_hygiene)]
 #![feature(rustc_attrs)]
diff --git a/tests/ui/proc-macro/attribute-after-derive.rs b/tests/ui/proc-macro/attribute-after-derive.rs
index 0f0f27bff97..3120b23e97e 100644
--- a/tests/ui/proc-macro/attribute-after-derive.rs
+++ b/tests/ui/proc-macro/attribute-after-derive.rs
@@ -1,9 +1,9 @@
 // Macro attributes are allowed after `#[derive]` and
 // `#[derive]` fully configures the item for following attributes.
 
-// check-pass
-// compile-flags: -Z span-debug
-// aux-build: test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build: test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/attribute-spans-preserved.rs b/tests/ui/proc-macro/attribute-spans-preserved.rs
index c01fce90593..946b16a0c80 100644
--- a/tests/ui/proc-macro/attribute-spans-preserved.rs
+++ b/tests/ui/proc-macro/attribute-spans-preserved.rs
@@ -1,4 +1,4 @@
-// aux-build:attribute-spans-preserved.rs
+//@ aux-build:attribute-spans-preserved.rs
 
 extern crate attribute_spans_preserved as foo;
 
diff --git a/tests/ui/proc-macro/attribute-with-error.rs b/tests/ui/proc-macro/attribute-with-error.rs
index aaa6c07dddb..5e81a9c7011 100644
--- a/tests/ui/proc-macro/attribute-with-error.rs
+++ b/tests/ui/proc-macro/attribute-with-error.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #![feature(custom_inner_attributes)]
 
diff --git a/tests/ui/proc-macro/attribute.rs b/tests/ui/proc-macro/attribute.rs
index 9e40e4d9ba6..30ed8ff8247 100644
--- a/tests/ui/proc-macro/attribute.rs
+++ b/tests/ui/proc-macro/attribute.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/attributes-included.rs b/tests/ui/proc-macro/attributes-included.rs
index 95e8e10a3ec..47fd21fdd24 100644
--- a/tests/ui/proc-macro/attributes-included.rs
+++ b/tests/ui/proc-macro/attributes-included.rs
@@ -1,5 +1,5 @@
-// aux-build:attributes-included.rs
-// check-pass
+//@ aux-build:attributes-included.rs
+//@ check-pass
 
 #![warn(unused)]
 
diff --git a/tests/ui/proc-macro/attributes-on-definitions.rs b/tests/ui/proc-macro/attributes-on-definitions.rs
index c0733c8b416..187d1be2364 100644
--- a/tests/ui/proc-macro/attributes-on-definitions.rs
+++ b/tests/ui/proc-macro/attributes-on-definitions.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:attributes-on-definitions.rs
+//@ check-pass
+//@ aux-build:attributes-on-definitions.rs
 
 #![forbid(unsafe_code)]
 
diff --git a/tests/ui/proc-macro/attributes-on-modules-fail.rs b/tests/ui/proc-macro/attributes-on-modules-fail.rs
index 6c30e8f4f95..9b2eb703eac 100644
--- a/tests/ui/proc-macro/attributes-on-modules-fail.rs
+++ b/tests/ui/proc-macro/attributes-on-modules-fail.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/attributes-on-modules.rs b/tests/ui/proc-macro/attributes-on-modules.rs
index 6c73b0bf19c..26c8d8e113b 100644
--- a/tests/ui/proc-macro/attributes-on-modules.rs
+++ b/tests/ui/proc-macro/attributes-on-modules.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/auxiliary/add-impl.rs b/tests/ui/proc-macro/auxiliary/add-impl.rs
index 741e64875b6..23a86e76ef9 100644
--- a/tests/ui/proc-macro/auxiliary/add-impl.rs
+++ b/tests/ui/proc-macro/auxiliary/add-impl.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/amputate-span.rs b/tests/ui/proc-macro/auxiliary/amputate-span.rs
index 1a82119ae95..c1ab0477ba2 100644
--- a/tests/ui/proc-macro/auxiliary/amputate-span.rs
+++ b/tests/ui/proc-macro/auxiliary/amputate-span.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/api/mod.rs b/tests/ui/proc-macro/auxiliary/api/mod.rs
index 5a533b9e17e..199d097336a 100644
--- a/tests/ui/proc-macro/auxiliary/api/mod.rs
+++ b/tests/ui/proc-macro/auxiliary/api/mod.rs
@@ -1,6 +1,6 @@
-// force-host
-// no-prefer-dynamic
-// edition: 2021
+//@ force-host
+//@ no-prefer-dynamic
+//@ edition: 2021
 
 #![crate_type = "proc-macro"]
 #![crate_name = "proc_macro_api_tests"]
diff --git a/tests/ui/proc-macro/auxiliary/append-impl.rs b/tests/ui/proc-macro/auxiliary/append-impl.rs
index b032b133759..30657d2738e 100644
--- a/tests/ui/proc-macro/auxiliary/append-impl.rs
+++ b/tests/ui/proc-macro/auxiliary/append-impl.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/assert-span-pos.rs b/tests/ui/proc-macro/auxiliary/assert-span-pos.rs
index 8126470ece9..8935ce2bc0a 100644
--- a/tests/ui/proc-macro/auxiliary/assert-span-pos.rs
+++ b/tests/ui/proc-macro/auxiliary/assert-span-pos.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_diagnostic, proc_macro_span)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/auxiliary/attr-args.rs b/tests/ui/proc-macro/auxiliary/attr-args.rs
index 5f76a4484e1..1fac41c3721 100644
--- a/tests/ui/proc-macro/auxiliary/attr-args.rs
+++ b/tests/ui/proc-macro/auxiliary/attr-args.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/attr-cfg.rs b/tests/ui/proc-macro/auxiliary/attr-cfg.rs
index 2f0054cc14a..3645128b509 100644
--- a/tests/ui/proc-macro/auxiliary/attr-cfg.rs
+++ b/tests/ui/proc-macro/auxiliary/attr-cfg.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/attr-on-trait.rs b/tests/ui/proc-macro/auxiliary/attr-on-trait.rs
index 3787b8eeccc..c4581359da1 100644
--- a/tests/ui/proc-macro/auxiliary/attr-on-trait.rs
+++ b/tests/ui/proc-macro/auxiliary/attr-on-trait.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs b/tests/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs
index 76346d9a172..c8b7aa412b5 100644
--- a/tests/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs
+++ b/tests/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/attr-stmt-expr.rs b/tests/ui/proc-macro/auxiliary/attr-stmt-expr.rs
index 0af62888449..888aab848d4 100644
--- a/tests/ui/proc-macro/auxiliary/attr-stmt-expr.rs
+++ b/tests/ui/proc-macro/auxiliary/attr-stmt-expr.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/attribute-spans-preserved.rs b/tests/ui/proc-macro/auxiliary/attribute-spans-preserved.rs
index 4d3279584c4..d06903c2708 100644
--- a/tests/ui/proc-macro/auxiliary/attribute-spans-preserved.rs
+++ b/tests/ui/proc-macro/auxiliary/attribute-spans-preserved.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/attributes-included.rs b/tests/ui/proc-macro/auxiliary/attributes-included.rs
index a5eb40b28dc..cc29818380b 100644
--- a/tests/ui/proc-macro/auxiliary/attributes-included.rs
+++ b/tests/ui/proc-macro/auxiliary/attributes-included.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/attributes-on-definitions.rs b/tests/ui/proc-macro/auxiliary/attributes-on-definitions.rs
index 93a339840d6..c7e6e681da3 100644
--- a/tests/ui/proc-macro/auxiliary/attributes-on-definitions.rs
+++ b/tests/ui/proc-macro/auxiliary/attributes-on-definitions.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(allow_internal_unsafe)]
 #![feature(allow_internal_unstable)]
diff --git a/tests/ui/proc-macro/auxiliary/bang-macro.rs b/tests/ui/proc-macro/auxiliary/bang-macro.rs
index ff000228218..361643aa8e5 100644
--- a/tests/ui/proc-macro/auxiliary/bang-macro.rs
+++ b/tests/ui/proc-macro/auxiliary/bang-macro.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/bang_proc_macro2.rs b/tests/ui/proc-macro/auxiliary/bang_proc_macro2.rs
index fcaaba6023d..3df2676ddab 100644
--- a/tests/ui/proc-macro/auxiliary/bang_proc_macro2.rs
+++ b/tests/ui/proc-macro/auxiliary/bang_proc_macro2.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/builtin-attrs.rs b/tests/ui/proc-macro/auxiliary/builtin-attrs.rs
index 6edafae3985..bd634b4f41c 100644
--- a/tests/ui/proc-macro/auxiliary/builtin-attrs.rs
+++ b/tests/ui/proc-macro/auxiliary/builtin-attrs.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/call-deprecated.rs b/tests/ui/proc-macro/auxiliary/call-deprecated.rs
index 2f484809a5c..8864de17ed3 100644
--- a/tests/ui/proc-macro/auxiliary/call-deprecated.rs
+++ b/tests/ui/proc-macro/auxiliary/call-deprecated.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/call-site.rs b/tests/ui/proc-macro/auxiliary/call-site.rs
index e64a5a3438a..ce0fc70c1a6 100644
--- a/tests/ui/proc-macro/auxiliary/call-site.rs
+++ b/tests/ui/proc-macro/auxiliary/call-site.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/cond_plugin.rs b/tests/ui/proc-macro/auxiliary/cond_plugin.rs
index 8d3c4ec239a..c6cdc8ce8ba 100644
--- a/tests/ui/proc-macro/auxiliary/cond_plugin.rs
+++ b/tests/ui/proc-macro/auxiliary/cond_plugin.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_quote)]
diff --git a/tests/ui/proc-macro/auxiliary/count_compound_ops.rs b/tests/ui/proc-macro/auxiliary/count_compound_ops.rs
index 3a656d6485e..86c27f2d818 100644
--- a/tests/ui/proc-macro/auxiliary/count_compound_ops.rs
+++ b/tests/ui/proc-macro/auxiliary/count_compound_ops.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_quote)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/auxiliary/custom-attr-only-one-derive.rs b/tests/ui/proc-macro/auxiliary/custom-attr-only-one-derive.rs
index 41f73f5963a..eab7d903e91 100644
--- a/tests/ui/proc-macro/auxiliary/custom-attr-only-one-derive.rs
+++ b/tests/ui/proc-macro/auxiliary/custom-attr-only-one-derive.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/custom-quote.rs b/tests/ui/proc-macro/auxiliary/custom-quote.rs
index 3b7811748ed..88800596ce5 100644
--- a/tests/ui/proc-macro/auxiliary/custom-quote.rs
+++ b/tests/ui/proc-macro/auxiliary/custom-quote.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 // ignore-tidy-linelength
 
 #![feature(proc_macro_quote)]
diff --git a/tests/ui/proc-macro/auxiliary/derive-a.rs b/tests/ui/proc-macro/auxiliary/derive-a.rs
index cd2be5fd84d..50e963a0a41 100644
--- a/tests/ui/proc-macro/auxiliary/derive-a.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-a.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-atob.rs b/tests/ui/proc-macro/auxiliary/derive-atob.rs
index e78e5bb8f4c..8a1f81450fa 100644
--- a/tests/ui/proc-macro/auxiliary/derive-atob.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-atob.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-attr-cfg.rs b/tests/ui/proc-macro/auxiliary/derive-attr-cfg.rs
index e7e9634e0bd..b9c0b5e6f77 100644
--- a/tests/ui/proc-macro/auxiliary/derive-attr-cfg.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-attr-cfg.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-b-rpass.rs b/tests/ui/proc-macro/auxiliary/derive-b-rpass.rs
index 3e6af67a9f4..82f0b4f19ed 100644
--- a/tests/ui/proc-macro/auxiliary/derive-b-rpass.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-b-rpass.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-b.rs b/tests/ui/proc-macro/auxiliary/derive-b.rs
index e7ab6c0729f..0b2cf31b059 100644
--- a/tests/ui/proc-macro/auxiliary/derive-b.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-b.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-bad.rs b/tests/ui/proc-macro/auxiliary/derive-bad.rs
index 90bb9b1baf2..3fd2bfc4b63 100644
--- a/tests/ui/proc-macro/auxiliary/derive-bad.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-bad.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-clona.rs b/tests/ui/proc-macro/auxiliary/derive-clona.rs
index 4a35c9d0dbb..83bcc5b08be 100644
--- a/tests/ui/proc-macro/auxiliary/derive-clona.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-clona.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-ctod.rs b/tests/ui/proc-macro/auxiliary/derive-ctod.rs
index dbf44ed1b05..78b1b8615b0 100644
--- a/tests/ui/proc-macro/auxiliary/derive-ctod.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-ctod.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-foo.rs b/tests/ui/proc-macro/auxiliary/derive-foo.rs
index 3ea027d4f53..5c63c3937e4 100644
--- a/tests/ui/proc-macro/auxiliary/derive-foo.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-foo.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-helper-shadowing-2.rs b/tests/ui/proc-macro/auxiliary/derive-helper-shadowing-2.rs
index 370a1a2794d..d09ff6cadc5 100644
--- a/tests/ui/proc-macro/auxiliary/derive-helper-shadowing-2.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-helper-shadowing-2.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-helper-shadowing.rs b/tests/ui/proc-macro/auxiliary/derive-helper-shadowing.rs
index 41d3a184640..d1f5b67cf85 100644
--- a/tests/ui/proc-macro/auxiliary/derive-helper-shadowing.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-helper-shadowing.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-nothing.rs b/tests/ui/proc-macro/auxiliary/derive-nothing.rs
index b6d1e133af7..adf9b4e83fd 100644
--- a/tests/ui/proc-macro/auxiliary/derive-nothing.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-nothing.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-same-struct.rs b/tests/ui/proc-macro/auxiliary/derive-same-struct.rs
index ce7a50d2381..bfdd71e9a15 100644
--- a/tests/ui/proc-macro/auxiliary/derive-same-struct.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-same-struct.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-two-attrs.rs b/tests/ui/proc-macro/auxiliary/derive-two-attrs.rs
index a6f0eec126a..24a88dceb4b 100644
--- a/tests/ui/proc-macro/auxiliary/derive-two-attrs.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-two-attrs.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-union.rs b/tests/ui/proc-macro/auxiliary/derive-union.rs
index d950e1e773c..8bf7041ebad 100644
--- a/tests/ui/proc-macro/auxiliary/derive-union.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-union.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-unstable-2.rs b/tests/ui/proc-macro/auxiliary/derive-unstable-2.rs
index eac21b04983..f80a2cfdd99 100644
--- a/tests/ui/proc-macro/auxiliary/derive-unstable-2.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-unstable-2.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/derive-unstable.rs b/tests/ui/proc-macro/auxiliary/derive-unstable.rs
index 2ccd3f88200..c92df49191b 100644
--- a/tests/ui/proc-macro/auxiliary/derive-unstable.rs
+++ b/tests/ui/proc-macro/auxiliary/derive-unstable.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/double.rs b/tests/ui/proc-macro/auxiliary/double.rs
index 99eb4e37546..ffde0bce245 100644
--- a/tests/ui/proc-macro/auxiliary/double.rs
+++ b/tests/ui/proc-macro/auxiliary/double.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_quote)]
 
diff --git a/tests/ui/proc-macro/auxiliary/duplicate.rs b/tests/ui/proc-macro/auxiliary/duplicate.rs
index b8f82b46f09..bcbb1c7474c 100644
--- a/tests/ui/proc-macro/auxiliary/duplicate.rs
+++ b/tests/ui/proc-macro/auxiliary/duplicate.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![deny(unused)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/auxiliary/edition-gated-async-move-syntax.rs b/tests/ui/proc-macro/auxiliary/edition-gated-async-move-syntax.rs
index ce7e60356f2..da6584e31e5 100644
--- a/tests/ui/proc-macro/auxiliary/edition-gated-async-move-syntax.rs
+++ b/tests/ui/proc-macro/auxiliary/edition-gated-async-move-syntax.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 // Proc macro helper for issue #89699, used by tests/ui/proc-macro/edition-gated-async-move-
 // syntax-issue89699.rs, emitting an `async move` closure. This syntax is only available in
diff --git a/tests/ui/proc-macro/auxiliary/edition-imports-2015.rs b/tests/ui/proc-macro/auxiliary/edition-imports-2015.rs
index 27c59b805e2..c33736a74a7 100644
--- a/tests/ui/proc-macro/auxiliary/edition-imports-2015.rs
+++ b/tests/ui/proc-macro/auxiliary/edition-imports-2015.rs
@@ -1,6 +1,6 @@
-// edition:2015
-// force-host
-// no-prefer-dynamic
+//@ edition:2015
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/empty-crate.rs b/tests/ui/proc-macro/auxiliary/empty-crate.rs
index 1cf7534b289..c502cd921cc 100644
--- a/tests/ui/proc-macro/auxiliary/empty-crate.rs
+++ b/tests/ui/proc-macro/auxiliary/empty-crate.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![deny(unused_variables)]
diff --git a/tests/ui/proc-macro/auxiliary/env.rs b/tests/ui/proc-macro/auxiliary/env.rs
index 58bcb08bf06..da9aaa5cb56 100644
--- a/tests/ui/proc-macro/auxiliary/env.rs
+++ b/tests/ui/proc-macro/auxiliary/env.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_tracked_env)]
diff --git a/tests/ui/proc-macro/auxiliary/expand-expr.rs b/tests/ui/proc-macro/auxiliary/expand-expr.rs
index 1d6ef8a1361..68d0843be5a 100644
--- a/tests/ui/proc-macro/auxiliary/expand-expr.rs
+++ b/tests/ui/proc-macro/auxiliary/expand-expr.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![deny(warnings)]
diff --git a/tests/ui/proc-macro/auxiliary/expand-with-a-macro.rs b/tests/ui/proc-macro/auxiliary/expand-with-a-macro.rs
index 5155a4b8558..9096fd71397 100644
--- a/tests/ui/proc-macro/auxiliary/expand-with-a-macro.rs
+++ b/tests/ui/proc-macro/auxiliary/expand-with-a-macro.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![deny(warnings)]
diff --git a/tests/ui/proc-macro/auxiliary/exports_no_mangle.rs b/tests/ui/proc-macro/auxiliary/exports_no_mangle.rs
index a8a478ffc74..80236b8905b 100644
--- a/tests/ui/proc-macro/auxiliary/exports_no_mangle.rs
+++ b/tests/ui/proc-macro/auxiliary/exports_no_mangle.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 #![crate_type="lib"]
 
 // Issue 111888: this crate (1.) is imported by a proc-macro crate and (2.)
diff --git a/tests/ui/proc-macro/auxiliary/first-second.rs b/tests/ui/proc-macro/auxiliary/first-second.rs
index 6331608fbe5..c8c1defa9f1 100644
--- a/tests/ui/proc-macro/auxiliary/first-second.rs
+++ b/tests/ui/proc-macro/auxiliary/first-second.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/gen-lifetime-token.rs b/tests/ui/proc-macro/auxiliary/gen-lifetime-token.rs
index d1a1c584f8b..fb05c97833c 100644
--- a/tests/ui/proc-macro/auxiliary/gen-lifetime-token.rs
+++ b/tests/ui/proc-macro/auxiliary/gen-lifetime-token.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/gen-macro-rules-hygiene.rs b/tests/ui/proc-macro/auxiliary/gen-macro-rules-hygiene.rs
index 548fefe76f5..9d6767dc11f 100644
--- a/tests/ui/proc-macro/auxiliary/gen-macro-rules-hygiene.rs
+++ b/tests/ui/proc-macro/auxiliary/gen-macro-rules-hygiene.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/gen-macro-rules.rs b/tests/ui/proc-macro/auxiliary/gen-macro-rules.rs
index d4b67d6b0b0..d2f82c52c58 100644
--- a/tests/ui/proc-macro/auxiliary/gen-macro-rules.rs
+++ b/tests/ui/proc-macro/auxiliary/gen-macro-rules.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/generate-dollar-ident.rs b/tests/ui/proc-macro/auxiliary/generate-dollar-ident.rs
index 3f3e12eed6c..855084be84d 100644
--- a/tests/ui/proc-macro/auxiliary/generate-dollar-ident.rs
+++ b/tests/ui/proc-macro/auxiliary/generate-dollar-ident.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_quote)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/auxiliary/generate-mod.rs b/tests/ui/proc-macro/auxiliary/generate-mod.rs
index e950f7d62d6..2ef1faffaa6 100644
--- a/tests/ui/proc-macro/auxiliary/generate-mod.rs
+++ b/tests/ui/proc-macro/auxiliary/generate-mod.rs
@@ -1,7 +1,7 @@
-// run-pass
-// force-host
-// no-prefer-dynamic
-// ignore-pass
+//@ run-pass
+//@ force-host
+//@ no-prefer-dynamic
+//@ ignore-pass
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/hygiene_example_codegen.rs b/tests/ui/proc-macro/auxiliary/hygiene_example_codegen.rs
index 2bd4d33360f..e324e3f3129 100644
--- a/tests/ui/proc-macro/auxiliary/hygiene_example_codegen.rs
+++ b/tests/ui/proc-macro/auxiliary/hygiene_example_codegen.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_quote)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/auxiliary/invalid-punct-ident.rs b/tests/ui/proc-macro/auxiliary/invalid-punct-ident.rs
index 518dfd0d688..19b3632dc3f 100644
--- a/tests/ui/proc-macro/auxiliary/invalid-punct-ident.rs
+++ b/tests/ui/proc-macro/auxiliary/invalid-punct-ident.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_raw_ident)]
diff --git a/tests/ui/proc-macro/auxiliary/is-available.rs b/tests/ui/proc-macro/auxiliary/is-available.rs
index 03f5265e376..f1d0e3c78f5 100644
--- a/tests/ui/proc-macro/auxiliary/is-available.rs
+++ b/tests/ui/proc-macro/auxiliary/is-available.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-104884.rs b/tests/ui/proc-macro/auxiliary/issue-104884.rs
index 0de59d00573..55d0d76ad18 100644
--- a/tests/ui/proc-macro/auxiliary/issue-104884.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-104884.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-107113.rs b/tests/ui/proc-macro/auxiliary/issue-107113.rs
index b27d3fd2fbd..5662277acce 100644
--- a/tests/ui/proc-macro/auxiliary/issue-107113.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-107113.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-118809.rs b/tests/ui/proc-macro/auxiliary/issue-118809.rs
index 029b58c6d0c..f662f623b19 100644
--- a/tests/ui/proc-macro/auxiliary/issue-118809.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-118809.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-38586.rs b/tests/ui/proc-macro/auxiliary/issue-38586.rs
index f3a19081c47..e2bba3e13d1 100644
--- a/tests/ui/proc-macro/auxiliary/issue-38586.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-38586.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-39889.rs b/tests/ui/proc-macro/auxiliary/issue-39889.rs
index e7af66da797..b1659d6168e 100644
--- a/tests/ui/proc-macro/auxiliary/issue-39889.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-39889.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-42708.rs b/tests/ui/proc-macro/auxiliary/issue-42708.rs
index dae05204b8b..ed5ba530341 100644
--- a/tests/ui/proc-macro/auxiliary/issue-42708.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-42708.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-50061.rs b/tests/ui/proc-macro/auxiliary/issue-50061.rs
index f5fe8cabbce..9ecbb383d4b 100644
--- a/tests/ui/proc-macro/auxiliary/issue-50061.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-50061.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-50493.rs b/tests/ui/proc-macro/auxiliary/issue-50493.rs
index f72024948a9..e9ad8600533 100644
--- a/tests/ui/proc-macro/auxiliary/issue-50493.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-50493.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-59191.rs b/tests/ui/proc-macro/auxiliary/issue-59191.rs
index d9ee77067ec..40ba0063e43 100644
--- a/tests/ui/proc-macro/auxiliary/issue-59191.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-59191.rs
@@ -1,6 +1,6 @@
-// edition:2018
-// force-host
-// no-prefer-dynamic
+//@ edition:2018
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-66286.rs b/tests/ui/proc-macro/auxiliary/issue-66286.rs
index 6217f1c7e61..d224dcda590 100644
--- a/tests/ui/proc-macro/auxiliary/issue-66286.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-66286.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-75801.rs b/tests/ui/proc-macro/auxiliary/issue-75801.rs
index d6c031d7d4f..bd553b7ab84 100644
--- a/tests/ui/proc-macro/auxiliary/issue-75801.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-75801.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-79242.rs b/tests/ui/proc-macro/auxiliary/issue-79242.rs
index e586980f0ad..7b24e5a2ef2 100644
--- a/tests/ui/proc-macro/auxiliary/issue-79242.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-79242.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-79825.rs b/tests/ui/proc-macro/auxiliary/issue-79825.rs
index 69cf5904f90..4326712458b 100644
--- a/tests/ui/proc-macro/auxiliary/issue-79825.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-79825.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 #![crate_type = "proc-macro"]
 
 extern crate proc_macro;
diff --git a/tests/ui/proc-macro/auxiliary/issue-83510.rs b/tests/ui/proc-macro/auxiliary/issue-83510.rs
index 1d6ef3914a9..6e8e2d1f780 100644
--- a/tests/ui/proc-macro/auxiliary/issue-83510.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-83510.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/issue-91800-macro.rs b/tests/ui/proc-macro/auxiliary/issue-91800-macro.rs
index 958a8bed9e2..a638a33cf25 100644
--- a/tests/ui/proc-macro/auxiliary/issue-91800-macro.rs
+++ b/tests/ui/proc-macro/auxiliary/issue-91800-macro.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/lifetimes-rpass.rs b/tests/ui/proc-macro/auxiliary/lifetimes-rpass.rs
index 4e5d22e6e3e..4f605ed07b3 100644
--- a/tests/ui/proc-macro/auxiliary/lifetimes-rpass.rs
+++ b/tests/ui/proc-macro/auxiliary/lifetimes-rpass.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/lifetimes.rs b/tests/ui/proc-macro/auxiliary/lifetimes.rs
index 212164dd2c9..79885a92f68 100644
--- a/tests/ui/proc-macro/auxiliary/lifetimes.rs
+++ b/tests/ui/proc-macro/auxiliary/lifetimes.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/macro-only-syntax.rs b/tests/ui/proc-macro/auxiliary/macro-only-syntax.rs
index 4ca3a0faa27..501a03985cb 100644
--- a/tests/ui/proc-macro/auxiliary/macro-only-syntax.rs
+++ b/tests/ui/proc-macro/auxiliary/macro-only-syntax.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 // These are tests for syntax that is accepted by the Rust parser but
 // unconditionally rejected semantically after macro expansion. Attribute macros
diff --git a/tests/ui/proc-macro/auxiliary/make-macro.rs b/tests/ui/proc-macro/auxiliary/make-macro.rs
index 3c851b6de2a..a0db47885a1 100644
--- a/tests/ui/proc-macro/auxiliary/make-macro.rs
+++ b/tests/ui/proc-macro/auxiliary/make-macro.rs
@@ -1,4 +1,4 @@
-// force-host
+//@ force-host
 
 #[macro_export]
 macro_rules! make_it {
diff --git a/tests/ui/proc-macro/auxiliary/meta-macro.rs b/tests/ui/proc-macro/auxiliary/meta-macro.rs
index 0a9b9887d95..cbe882c173f 100644
--- a/tests/ui/proc-macro/auxiliary/meta-macro.rs
+++ b/tests/ui/proc-macro/auxiliary/meta-macro.rs
@@ -1,6 +1,6 @@
-// force-host
-// no-prefer-dynamic
-// edition:2018
+//@ force-host
+//@ no-prefer-dynamic
+//@ edition:2018
 
 #![feature(proc_macro_def_site)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/auxiliary/mixed-site-span.rs b/tests/ui/proc-macro/auxiliary/mixed-site-span.rs
index c2a49870048..c143e2d40f3 100644
--- a/tests/ui/proc-macro/auxiliary/mixed-site-span.rs
+++ b/tests/ui/proc-macro/auxiliary/mixed-site-span.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_quote)]
 
diff --git a/tests/ui/proc-macro/auxiliary/modify-ast.rs b/tests/ui/proc-macro/auxiliary/modify-ast.rs
index cc582c1522c..174c588e8bf 100644
--- a/tests/ui/proc-macro/auxiliary/modify-ast.rs
+++ b/tests/ui/proc-macro/auxiliary/modify-ast.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/multiple-derives.rs b/tests/ui/proc-macro/auxiliary/multiple-derives.rs
index e3f6607b2ae..84a826cf1f6 100644
--- a/tests/ui/proc-macro/auxiliary/multiple-derives.rs
+++ b/tests/ui/proc-macro/auxiliary/multiple-derives.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/multispan.rs b/tests/ui/proc-macro/auxiliary/multispan.rs
index c05d15643db..b5f1ed9b56a 100644
--- a/tests/ui/proc-macro/auxiliary/multispan.rs
+++ b/tests/ui/proc-macro/auxiliary/multispan.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_diagnostic, proc_macro_span, proc_macro_def_site)]
diff --git a/tests/ui/proc-macro/auxiliary/negative-token.rs b/tests/ui/proc-macro/auxiliary/negative-token.rs
index 8b89f2e3731..43355bfd20b 100644
--- a/tests/ui/proc-macro/auxiliary/negative-token.rs
+++ b/tests/ui/proc-macro/auxiliary/negative-token.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs b/tests/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs
index ea5ff466570..48ae3600192 100644
--- a/tests/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs
+++ b/tests/ui/proc-macro/auxiliary/nonterminal-recollect-attr.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_quote)]
diff --git a/tests/ui/proc-macro/auxiliary/not-joint.rs b/tests/ui/proc-macro/auxiliary/not-joint.rs
index e6c09f7628e..5f94805361a 100644
--- a/tests/ui/proc-macro/auxiliary/not-joint.rs
+++ b/tests/ui/proc-macro/auxiliary/not-joint.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/parent-source-spans.rs b/tests/ui/proc-macro/auxiliary/parent-source-spans.rs
index 594f1088332..3ec92d71332 100644
--- a/tests/ui/proc-macro/auxiliary/parent-source-spans.rs
+++ b/tests/ui/proc-macro/auxiliary/parent-source-spans.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_diagnostic, proc_macro_span)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/auxiliary/print-tokens.rs b/tests/ui/proc-macro/auxiliary/print-tokens.rs
index 3a5767edb15..6d25f1f8471 100644
--- a/tests/ui/proc-macro/auxiliary/print-tokens.rs
+++ b/tests/ui/proc-macro/auxiliary/print-tokens.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 #![crate_type = "proc-macro"]
 
 extern crate proc_macro;
diff --git a/tests/ui/proc-macro/auxiliary/proc-macro-panic.rs b/tests/ui/proc-macro/auxiliary/proc-macro-panic.rs
index fc15bb9c59d..cfd6464661e 100644
--- a/tests/ui/proc-macro/auxiliary/proc-macro-panic.rs
+++ b/tests/ui/proc-macro/auxiliary/proc-macro-panic.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/raw-ident.rs b/tests/ui/proc-macro/auxiliary/raw-ident.rs
index 9daee21aa17..1fec6179756 100644
--- a/tests/ui/proc-macro/auxiliary/raw-ident.rs
+++ b/tests/ui/proc-macro/auxiliary/raw-ident.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/re-export.rs b/tests/ui/proc-macro/auxiliary/re-export.rs
index e8e9c9d3ecb..a886015a031 100644
--- a/tests/ui/proc-macro/auxiliary/re-export.rs
+++ b/tests/ui/proc-macro/auxiliary/re-export.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/recollect.rs b/tests/ui/proc-macro/auxiliary/recollect.rs
index d4494a5aff2..7db29035f71 100644
--- a/tests/ui/proc-macro/auxiliary/recollect.rs
+++ b/tests/ui/proc-macro/auxiliary/recollect.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/auxiliary/resolved-located-at.rs b/tests/ui/proc-macro/auxiliary/resolved-located-at.rs
index db660824fbb..032d41688af 100644
--- a/tests/ui/proc-macro/auxiliary/resolved-located-at.rs
+++ b/tests/ui/proc-macro/auxiliary/resolved-located-at.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_def_site)]
 #![feature(proc_macro_diagnostic)]
diff --git a/tests/ui/proc-macro/auxiliary/span-api-tests.rs b/tests/ui/proc-macro/auxiliary/span-api-tests.rs
index ad1e770a4dc..16640a32098 100644
--- a/tests/ui/proc-macro/auxiliary/span-api-tests.rs
+++ b/tests/ui/proc-macro/auxiliary/span-api-tests.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_span)]
diff --git a/tests/ui/proc-macro/auxiliary/span-from-proc-macro.rs b/tests/ui/proc-macro/auxiliary/span-from-proc-macro.rs
index 49292acfea7..fdcca29e177 100644
--- a/tests/ui/proc-macro/auxiliary/span-from-proc-macro.rs
+++ b/tests/ui/proc-macro/auxiliary/span-from-proc-macro.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(proc_macro_quote)]
 #![feature(proc_macro_internals)] // FIXME - this shouldn't be necessary
diff --git a/tests/ui/proc-macro/auxiliary/subspan.rs b/tests/ui/proc-macro/auxiliary/subspan.rs
index f92adc04023..69a9c8a9fa8 100644
--- a/tests/ui/proc-macro/auxiliary/subspan.rs
+++ b/tests/ui/proc-macro/auxiliary/subspan.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_diagnostic, proc_macro_span)]
diff --git a/tests/ui/proc-macro/auxiliary/test-macros.rs b/tests/ui/proc-macro/auxiliary/test-macros.rs
index 7a46aee462b..69a89e94cd6 100644
--- a/tests/ui/proc-macro/auxiliary/test-macros.rs
+++ b/tests/ui/proc-macro/auxiliary/test-macros.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 // Proc macros commonly used by tests.
 // `panic`/`print` -> `panic_bang`/`print_bang` to avoid conflicts with standard macros.
diff --git a/tests/ui/proc-macro/auxiliary/three-equals.rs b/tests/ui/proc-macro/auxiliary/three-equals.rs
index e740e86e5d0..f0ff0437a8b 100644
--- a/tests/ui/proc-macro/auxiliary/three-equals.rs
+++ b/tests/ui/proc-macro/auxiliary/three-equals.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![feature(proc_macro_diagnostic, proc_macro_span, proc_macro_def_site)]
diff --git a/tests/ui/proc-macro/auxiliary/weird-hygiene.rs b/tests/ui/proc-macro/auxiliary/weird-hygiene.rs
index 338e436df50..f401f7d55ba 100644
--- a/tests/ui/proc-macro/auxiliary/weird-hygiene.rs
+++ b/tests/ui/proc-macro/auxiliary/weird-hygiene.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/bad-projection.rs b/tests/ui/proc-macro/bad-projection.rs
index c3ac624b600..e633191bd31 100644
--- a/tests/ui/proc-macro/bad-projection.rs
+++ b/tests/ui/proc-macro/bad-projection.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![allow(warnings)]
diff --git a/tests/ui/proc-macro/bang-macro.rs b/tests/ui/proc-macro/bang-macro.rs
index 92810791314..03d4174d652 100644
--- a/tests/ui/proc-macro/bang-macro.rs
+++ b/tests/ui/proc-macro/bang-macro.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:bang-macro.rs
+//@ run-pass
+//@ aux-build:bang-macro.rs
 
 extern crate bang_macro;
 use bang_macro::rewrite;
diff --git a/tests/ui/proc-macro/break-token-spans.rs b/tests/ui/proc-macro/break-token-spans.rs
index 59dc3b5043c..ae90e04e081 100644
--- a/tests/ui/proc-macro/break-token-spans.rs
+++ b/tests/ui/proc-macro/break-token-spans.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 // Regression test for issues #68489 and #70987
 // Tests that we properly break tokens in `probably_equal_for_proc_macro`
 // See #72306
diff --git a/tests/ui/proc-macro/call-deprecated.rs b/tests/ui/proc-macro/call-deprecated.rs
index cb634671bd4..1779e33f3b1 100644
--- a/tests/ui/proc-macro/call-deprecated.rs
+++ b/tests/ui/proc-macro/call-deprecated.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:call-deprecated.rs
+//@ check-pass
+//@ aux-build:call-deprecated.rs
 
 extern crate call_deprecated;
 
diff --git a/tests/ui/proc-macro/call-site.rs b/tests/ui/proc-macro/call-site.rs
index 12c77250c0e..31fa78902d5 100644
--- a/tests/ui/proc-macro/call-site.rs
+++ b/tests/ui/proc-macro/call-site.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:call-site.rs
+//@ check-pass
+//@ aux-build:call-site.rs
 
 extern crate call_site;
 
diff --git a/tests/ui/proc-macro/capture-macro-rules-invoke.rs b/tests/ui/proc-macro/capture-macro-rules-invoke.rs
index de008a3708a..71a290c1fc0 100644
--- a/tests/ui/proc-macro/capture-macro-rules-invoke.rs
+++ b/tests/ui/proc-macro/capture-macro-rules-invoke.rs
@@ -1,6 +1,6 @@
-// aux-build:test-macros.rs
-// check-pass
-// compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/capture-unglued-token.rs b/tests/ui/proc-macro/capture-unglued-token.rs
index 727b779776b..32286ed084c 100644
--- a/tests/ui/proc-macro/capture-unglued-token.rs
+++ b/tests/ui/proc-macro/capture-unglued-token.rs
@@ -1,6 +1,6 @@
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
-// check-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
+//@ check-pass
 
 // Tests that we properly handle parsing a nonterminal
 // where we have two consecutive angle brackets (one inside
diff --git a/tests/ui/proc-macro/cfg-eval-inner.rs b/tests/ui/proc-macro/cfg-eval-inner.rs
index 5fd3ca0d163..d0a6c1afa23 100644
--- a/tests/ui/proc-macro/cfg-eval-inner.rs
+++ b/tests/ui/proc-macro/cfg-eval-inner.rs
@@ -1,6 +1,6 @@
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
-// check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
+//@ check-pass
 
 #![feature(cfg_eval)]
 #![feature(custom_inner_attributes)]
diff --git a/tests/ui/proc-macro/cfg-eval.rs b/tests/ui/proc-macro/cfg-eval.rs
index fa6d015e48e..bbf11949e7e 100644
--- a/tests/ui/proc-macro/cfg-eval.rs
+++ b/tests/ui/proc-macro/cfg-eval.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 #![feature(cfg_eval)]
 #![feature(proc_macro_hygiene)]
diff --git a/tests/ui/proc-macro/count_compound_ops.rs b/tests/ui/proc-macro/count_compound_ops.rs
index 2cb87184488..e58c36e047d 100644
--- a/tests/ui/proc-macro/count_compound_ops.rs
+++ b/tests/ui/proc-macro/count_compound_ops.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:count_compound_ops.rs
+//@ run-pass
+//@ aux-build:count_compound_ops.rs
 
 extern crate count_compound_ops;
 use count_compound_ops::count_compound_ops;
diff --git a/tests/ui/proc-macro/crate-attrs-multiple.rs b/tests/ui/proc-macro/crate-attrs-multiple.rs
index 29a0eca4172..24f46b0a2fa 100644
--- a/tests/ui/proc-macro/crate-attrs-multiple.rs
+++ b/tests/ui/proc-macro/crate-attrs-multiple.rs
@@ -1,7 +1,7 @@
 // Multiple custom crate-level attributes, both inert and active.
 
-// check-pass
-// aux-crate:test_macros=test-macros.rs
+//@ check-pass
+//@ aux-crate:test_macros=test-macros.rs
 
 #![feature(custom_inner_attributes)]
 #![feature(prelude_import)]
diff --git a/tests/ui/proc-macro/crate-var.rs b/tests/ui/proc-macro/crate-var.rs
index c0518e4b08c..7388ca68358 100644
--- a/tests/ui/proc-macro/crate-var.rs
+++ b/tests/ui/proc-macro/crate-var.rs
@@ -1,6 +1,6 @@
-// run-pass
-// aux-build:double.rs
-// aux-build:external-crate-var.rs
+//@ run-pass
+//@ aux-build:double.rs
+//@ aux-build:external-crate-var.rs
 
 #![allow(unused)]
 
diff --git a/tests/ui/proc-macro/crt-static.rs b/tests/ui/proc-macro/crt-static.rs
index 78592f82709..546d30dbad7 100644
--- a/tests/ui/proc-macro/crt-static.rs
+++ b/tests/ui/proc-macro/crt-static.rs
@@ -1,13 +1,13 @@
 // Test proc-macro crate can be built without additional RUSTFLAGS
 // on musl target
 // override -Ctarget-feature=-crt-static from compiletest
-// compile-flags: --crate-type proc-macro -Ctarget-feature=
-// ignore-wasm32
-// ignore-sgx no support for proc-macro crate type
-// build-pass
-// force-host
-// no-prefer-dynamic
-// needs-dynamic-linking
+//@ compile-flags: --crate-type proc-macro -Ctarget-feature=
+//@ ignore-wasm32
+//@ ignore-sgx no support for proc-macro crate type
+//@ build-pass
+//@ force-host
+//@ no-prefer-dynamic
+//@ needs-dynamic-linking
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/custom-attr-only-one-derive.rs b/tests/ui/proc-macro/custom-attr-only-one-derive.rs
index 901394384d5..2616c122a65 100644
--- a/tests/ui/proc-macro/custom-attr-only-one-derive.rs
+++ b/tests/ui/proc-macro/custom-attr-only-one-derive.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:custom-attr-only-one-derive.rs
+//@ run-pass
+//@ aux-build:custom-attr-only-one-derive.rs
 
 #[macro_use]
 extern crate custom_attr_only_one_derive;
diff --git a/tests/ui/proc-macro/debug/auxiliary/macro-dump-debug.rs b/tests/ui/proc-macro/debug/auxiliary/macro-dump-debug.rs
index 56ad0612f74..2d7bff83681 100644
--- a/tests/ui/proc-macro/debug/auxiliary/macro-dump-debug.rs
+++ b/tests/ui/proc-macro/debug/auxiliary/macro-dump-debug.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![crate_name = "macro_dump_debug"]
diff --git a/tests/ui/proc-macro/debug/dump-debug-span-debug.rs b/tests/ui/proc-macro/debug/dump-debug-span-debug.rs
index 102bd6b7b17..d4d9199bf3b 100644
--- a/tests/ui/proc-macro/debug/dump-debug-span-debug.rs
+++ b/tests/ui/proc-macro/debug/dump-debug-span-debug.rs
@@ -1,6 +1,6 @@
-// run-pass
-// aux-build:macro-dump-debug.rs
-// compile-flags: -Z span-debug
+//@ run-pass
+//@ aux-build:macro-dump-debug.rs
+//@ compile-flags: -Z span-debug
 
 
 extern crate macro_dump_debug;
diff --git a/tests/ui/proc-macro/debug/dump-debug.rs b/tests/ui/proc-macro/debug/dump-debug.rs
index 0ed36b690f4..7a5cc979df9 100644
--- a/tests/ui/proc-macro/debug/dump-debug.rs
+++ b/tests/ui/proc-macro/debug/dump-debug.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:macro-dump-debug.rs
+//@ run-pass
+//@ aux-build:macro-dump-debug.rs
 
 extern crate macro_dump_debug;
 use macro_dump_debug::dump_debug;
diff --git a/tests/ui/proc-macro/debug/dump-debug.stderr b/tests/ui/proc-macro/debug/dump-debug.stderr
index db422b6012a..6aefacacd00 100644
--- a/tests/ui/proc-macro/debug/dump-debug.stderr
+++ b/tests/ui/proc-macro/debug/dump-debug.stderr
@@ -1,166 +1,166 @@
-TokenStream [Ident { ident: "ident", span: #0 bytes(130..135) }, Ident { ident: "r#ident", span: #0 bytes(151..158) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(176..177) }, Punct { ch: '=', spacing: Joint, span: #0 bytes(203..204) }, Punct { ch: '=', spacing: Joint, span: #0 bytes(204..205) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(205..206) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(230..232) }, Group { delimiter: Bracket, stream: TokenStream [Ident { ident: "_", span: #0 bytes(258..259) }], span: #0 bytes(257..260) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(315..316) }, Literal { kind: Float, symbol: "1.0", suffix: None, span: #0 bytes(321..324) }, Literal { kind: Str, symbol: "S", suffix: None, span: #0 bytes(329..332) }, Literal { kind: ByteStr, symbol: "B", suffix: None, span: #0 bytes(337..341) }, Literal { kind: StrRaw(0), symbol: "R", suffix: None, span: #0 bytes(346..350) }, Literal { kind: StrRaw(2), symbol: "R", suffix: None, span: #0 bytes(355..363) }, Literal { kind: ByteStrRaw(0), symbol: "BR", suffix: None, span: #0 bytes(368..374) }, Literal { kind: ByteStrRaw(2), symbol: "BR", suffix: None, span: #0 bytes(379..389) }, Literal { kind: Char, symbol: "C", suffix: None, span: #0 bytes(394..397) }, Literal { kind: Byte, symbol: "B", suffix: None, span: #0 bytes(402..406) }, Literal { kind: Integer, symbol: "0", suffix: Some("q"), span: #0 bytes(437..439) }, Literal { kind: Float, symbol: "1.0", suffix: Some("q"), span: #0 bytes(444..448) }, Literal { kind: Str, symbol: "S", suffix: Some("q"), span: #0 bytes(453..457) }, Literal { kind: ByteStr, symbol: "B", suffix: Some("q"), span: #0 bytes(462..467) }, Literal { kind: StrRaw(0), symbol: "R", suffix: Some("q"), span: #0 bytes(472..477) }, Literal { kind: StrRaw(2), symbol: "R", suffix: Some("q"), span: #0 bytes(482..491) }, Literal { kind: ByteStrRaw(0), symbol: "BR", suffix: Some("q"), span: #0 bytes(496..503) }, Literal { kind: ByteStrRaw(2), symbol: "BR", suffix: Some("q"), span: #0 bytes(508..519) }, Literal { kind: Char, symbol: "C", suffix: Some("q"), span: #0 bytes(524..528) }, Literal { kind: Byte, symbol: "B", suffix: Some("q"), span: #0 bytes(533..538) }]
+TokenStream [Ident { ident: "ident", span: #0 bytes(132..137) }, Ident { ident: "r#ident", span: #0 bytes(153..160) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(178..179) }, Punct { ch: '=', spacing: Joint, span: #0 bytes(205..206) }, Punct { ch: '=', spacing: Joint, span: #0 bytes(206..207) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(207..208) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(232..234) }, Group { delimiter: Bracket, stream: TokenStream [Ident { ident: "_", span: #0 bytes(260..261) }], span: #0 bytes(259..262) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(317..318) }, Literal { kind: Float, symbol: "1.0", suffix: None, span: #0 bytes(323..326) }, Literal { kind: Str, symbol: "S", suffix: None, span: #0 bytes(331..334) }, Literal { kind: ByteStr, symbol: "B", suffix: None, span: #0 bytes(339..343) }, Literal { kind: StrRaw(0), symbol: "R", suffix: None, span: #0 bytes(348..352) }, Literal { kind: StrRaw(2), symbol: "R", suffix: None, span: #0 bytes(357..365) }, Literal { kind: ByteStrRaw(0), symbol: "BR", suffix: None, span: #0 bytes(370..376) }, Literal { kind: ByteStrRaw(2), symbol: "BR", suffix: None, span: #0 bytes(381..391) }, Literal { kind: Char, symbol: "C", suffix: None, span: #0 bytes(396..399) }, Literal { kind: Byte, symbol: "B", suffix: None, span: #0 bytes(404..408) }, Literal { kind: Integer, symbol: "0", suffix: Some("q"), span: #0 bytes(439..441) }, Literal { kind: Float, symbol: "1.0", suffix: Some("q"), span: #0 bytes(446..450) }, Literal { kind: Str, symbol: "S", suffix: Some("q"), span: #0 bytes(455..459) }, Literal { kind: ByteStr, symbol: "B", suffix: Some("q"), span: #0 bytes(464..469) }, Literal { kind: StrRaw(0), symbol: "R", suffix: Some("q"), span: #0 bytes(474..479) }, Literal { kind: StrRaw(2), symbol: "R", suffix: Some("q"), span: #0 bytes(484..493) }, Literal { kind: ByteStrRaw(0), symbol: "BR", suffix: Some("q"), span: #0 bytes(498..505) }, Literal { kind: ByteStrRaw(2), symbol: "BR", suffix: Some("q"), span: #0 bytes(510..521) }, Literal { kind: Char, symbol: "C", suffix: Some("q"), span: #0 bytes(526..530) }, Literal { kind: Byte, symbol: "B", suffix: Some("q"), span: #0 bytes(535..540) }]
 TokenStream [
     Ident {
         ident: "ident",
-        span: #0 bytes(130..135),
+        span: #0 bytes(132..137),
     },
     Ident {
         ident: "r#ident",
-        span: #0 bytes(151..158),
+        span: #0 bytes(153..160),
     },
     Punct {
         ch: ',',
         spacing: Alone,
-        span: #0 bytes(176..177),
+        span: #0 bytes(178..179),
     },
     Punct {
         ch: '=',
         spacing: Joint,
-        span: #0 bytes(203..204),
+        span: #0 bytes(205..206),
     },
     Punct {
         ch: '=',
         spacing: Joint,
-        span: #0 bytes(204..205),
+        span: #0 bytes(206..207),
     },
     Punct {
         ch: '>',
         spacing: Alone,
-        span: #0 bytes(205..206),
+        span: #0 bytes(207..208),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [],
-        span: #0 bytes(230..232),
+        span: #0 bytes(232..234),
     },
     Group {
         delimiter: Bracket,
         stream: TokenStream [
             Ident {
                 ident: "_",
-                span: #0 bytes(258..259),
+                span: #0 bytes(260..261),
             },
         ],
-        span: #0 bytes(257..260),
+        span: #0 bytes(259..262),
     },
     Literal {
         kind: Integer,
         symbol: "0",
         suffix: None,
-        span: #0 bytes(315..316),
+        span: #0 bytes(317..318),
     },
     Literal {
         kind: Float,
         symbol: "1.0",
         suffix: None,
-        span: #0 bytes(321..324),
+        span: #0 bytes(323..326),
     },
     Literal {
         kind: Str,
         symbol: "S",
         suffix: None,
-        span: #0 bytes(329..332),
+        span: #0 bytes(331..334),
     },
     Literal {
         kind: ByteStr,
         symbol: "B",
         suffix: None,
-        span: #0 bytes(337..341),
+        span: #0 bytes(339..343),
     },
     Literal {
         kind: StrRaw(0),
         symbol: "R",
         suffix: None,
-        span: #0 bytes(346..350),
+        span: #0 bytes(348..352),
     },
     Literal {
         kind: StrRaw(2),
         symbol: "R",
         suffix: None,
-        span: #0 bytes(355..363),
+        span: #0 bytes(357..365),
     },
     Literal {
         kind: ByteStrRaw(0),
         symbol: "BR",
         suffix: None,
-        span: #0 bytes(368..374),
+        span: #0 bytes(370..376),
     },
     Literal {
         kind: ByteStrRaw(2),
         symbol: "BR",
         suffix: None,
-        span: #0 bytes(379..389),
+        span: #0 bytes(381..391),
     },
     Literal {
         kind: Char,
         symbol: "C",
         suffix: None,
-        span: #0 bytes(394..397),
+        span: #0 bytes(396..399),
     },
     Literal {
         kind: Byte,
         symbol: "B",
         suffix: None,
-        span: #0 bytes(402..406),
+        span: #0 bytes(404..408),
     },
     Literal {
         kind: Integer,
         symbol: "0",
         suffix: Some("q"),
-        span: #0 bytes(437..439),
+        span: #0 bytes(439..441),
     },
     Literal {
         kind: Float,
         symbol: "1.0",
         suffix: Some("q"),
-        span: #0 bytes(444..448),
+        span: #0 bytes(446..450),
     },
     Literal {
         kind: Str,
         symbol: "S",
         suffix: Some("q"),
-        span: #0 bytes(453..457),
+        span: #0 bytes(455..459),
     },
     Literal {
         kind: ByteStr,
         symbol: "B",
         suffix: Some("q"),
-        span: #0 bytes(462..467),
+        span: #0 bytes(464..469),
     },
     Literal {
         kind: StrRaw(0),
         symbol: "R",
         suffix: Some("q"),
-        span: #0 bytes(472..477),
+        span: #0 bytes(474..479),
     },
     Literal {
         kind: StrRaw(2),
         symbol: "R",
         suffix: Some("q"),
-        span: #0 bytes(482..491),
+        span: #0 bytes(484..493),
     },
     Literal {
         kind: ByteStrRaw(0),
         symbol: "BR",
         suffix: Some("q"),
-        span: #0 bytes(496..503),
+        span: #0 bytes(498..505),
     },
     Literal {
         kind: ByteStrRaw(2),
         symbol: "BR",
         suffix: Some("q"),
-        span: #0 bytes(508..519),
+        span: #0 bytes(510..521),
     },
     Literal {
         kind: Char,
         symbol: "C",
         suffix: Some("q"),
-        span: #0 bytes(524..528),
+        span: #0 bytes(526..530),
     },
     Literal {
         kind: Byte,
         symbol: "B",
         suffix: Some("q"),
-        span: #0 bytes(533..538),
+        span: #0 bytes(535..540),
     },
 ]
diff --git a/tests/ui/proc-macro/define-two.rs b/tests/ui/proc-macro/define-two.rs
index b2184eae33e..27767cda306 100644
--- a/tests/ui/proc-macro/define-two.rs
+++ b/tests/ui/proc-macro/define-two.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/derive-attr-cfg.rs b/tests/ui/proc-macro/derive-attr-cfg.rs
index 3947746286d..162be0754d9 100644
--- a/tests/ui/proc-macro/derive-attr-cfg.rs
+++ b/tests/ui/proc-macro/derive-attr-cfg.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(dead_code)]
-// aux-build:derive-attr-cfg.rs
+//@ aux-build:derive-attr-cfg.rs
 
 extern crate derive_attr_cfg;
 use derive_attr_cfg::Foo;
diff --git a/tests/ui/proc-macro/derive-b.rs b/tests/ui/proc-macro/derive-b.rs
index a026c2bd77a..6cbe1fd0a3f 100644
--- a/tests/ui/proc-macro/derive-b.rs
+++ b/tests/ui/proc-macro/derive-b.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:derive-b-rpass.rs
+//@ run-pass
+//@ aux-build:derive-b-rpass.rs
 
 extern crate derive_b_rpass as derive_b;
 
diff --git a/tests/ui/proc-macro/derive-bad.rs b/tests/ui/proc-macro/derive-bad.rs
index 92d35f5371a..c8f3a77ea4c 100644
--- a/tests/ui/proc-macro/derive-bad.rs
+++ b/tests/ui/proc-macro/derive-bad.rs
@@ -1,4 +1,4 @@
-// aux-build:derive-bad.rs
+//@ aux-build:derive-bad.rs
 
 #[macro_use]
 extern crate derive_bad;
diff --git a/tests/ui/proc-macro/derive-expand-order.rs b/tests/ui/proc-macro/derive-expand-order.rs
index 0cf1ceb91de..75981f16a7f 100644
--- a/tests/ui/proc-macro/derive-expand-order.rs
+++ b/tests/ui/proc-macro/derive-expand-order.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:multiple-derives.rs
+//@ run-pass
+//@ aux-build:multiple-derives.rs
 
 extern crate multiple_derives;
 
diff --git a/tests/ui/proc-macro/derive-helper-configured.rs b/tests/ui/proc-macro/derive-helper-configured.rs
index 243cf685e81..74d5d827f16 100644
--- a/tests/ui/proc-macro/derive-helper-configured.rs
+++ b/tests/ui/proc-macro/derive-helper-configured.rs
@@ -1,8 +1,8 @@
 // Derive helpers are resolved successfully inside `cfg_attr`.
 
-// check-pass
+//@ check-pass
 // compile-flats:--cfg TRUE
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/derive-helper-legacy-limits.rs b/tests/ui/proc-macro/derive-helper-legacy-limits.rs
index ca904900da0..ff09095a60f 100644
--- a/tests/ui/proc-macro/derive-helper-legacy-limits.rs
+++ b/tests/ui/proc-macro/derive-helper-legacy-limits.rs
@@ -1,8 +1,8 @@
 // Support for legacy derive helpers is limited and heuristic-based
 // (that's exactly the reason why they are deprecated).
 
-// edition:2018
-// aux-build:test-macros.rs
+//@ edition:2018
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/derive-helper-legacy-spurious.rs b/tests/ui/proc-macro/derive-helper-legacy-spurious.rs
index b484b42e566..2b5bb905e83 100644
--- a/tests/ui/proc-macro/derive-helper-legacy-spurious.rs
+++ b/tests/ui/proc-macro/derive-helper-legacy-spurious.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #![dummy] //~ ERROR cannot find attribute `dummy` in this scope
 
diff --git a/tests/ui/proc-macro/derive-helper-shadowed.rs b/tests/ui/proc-macro/derive-helper-shadowed.rs
index ac14ece6918..9b2a4ab6bc7 100644
--- a/tests/ui/proc-macro/derive-helper-shadowed.rs
+++ b/tests/ui/proc-macro/derive-helper-shadowed.rs
@@ -1,6 +1,6 @@
-// check-pass
-// aux-build:test-macros.rs
-// aux-build:derive-helper-shadowed-2.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
+//@ aux-build:derive-helper-shadowed-2.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/derive-helper-shadowing-2.rs b/tests/ui/proc-macro/derive-helper-shadowing-2.rs
index 5204d72b980..dc35dd05498 100644
--- a/tests/ui/proc-macro/derive-helper-shadowing-2.rs
+++ b/tests/ui/proc-macro/derive-helper-shadowing-2.rs
@@ -1,8 +1,8 @@
 // If a derive macro introduces a helper attribute with the same name as that macro,
 // then make sure that it's usable without ambiguities.
 
-// check-pass
-// aux-build:derive-helper-shadowing-2.rs
+//@ check-pass
+//@ aux-build:derive-helper-shadowing-2.rs
 
 #[macro_use]
 extern crate derive_helper_shadowing_2;
diff --git a/tests/ui/proc-macro/derive-helper-shadowing.rs b/tests/ui/proc-macro/derive-helper-shadowing.rs
index 4f25b4b0dca..1c66a60b294 100644
--- a/tests/ui/proc-macro/derive-helper-shadowing.rs
+++ b/tests/ui/proc-macro/derive-helper-shadowing.rs
@@ -1,6 +1,6 @@
-// edition:2018
-// aux-build:test-macros.rs
-// aux-build:derive-helper-shadowing.rs
+//@ edition:2018
+//@ aux-build:test-macros.rs
+//@ aux-build:derive-helper-shadowing.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/derive-helper-vs-legacy.rs b/tests/ui/proc-macro/derive-helper-vs-legacy.rs
index 98836bcb893..feae7adda68 100644
--- a/tests/ui/proc-macro/derive-helper-vs-legacy.rs
+++ b/tests/ui/proc-macro/derive-helper-vs-legacy.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/derive-in-mod.rs b/tests/ui/proc-macro/derive-in-mod.rs
index 96e9d93fe12..3bd70f1090d 100644
--- a/tests/ui/proc-macro/derive-in-mod.rs
+++ b/tests/ui/proc-macro/derive-in-mod.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 extern crate test_macros;
 
diff --git a/tests/ui/proc-macro/derive-multiple-with-packed.rs b/tests/ui/proc-macro/derive-multiple-with-packed.rs
index 23578aa0e9f..641be4dee54 100644
--- a/tests/ui/proc-macro/derive-multiple-with-packed.rs
+++ b/tests/ui/proc-macro/derive-multiple-with-packed.rs
@@ -1,4 +1,4 @@
-// check-pass
+//@ check-pass
 
 #[derive(Clone, Copy)]
 #[derive(Debug)] // OK, even if `Copy` is in the different `#[derive]`
diff --git a/tests/ui/proc-macro/derive-same-struct.rs b/tests/ui/proc-macro/derive-same-struct.rs
index 528b0f22a81..432476d1ebb 100644
--- a/tests/ui/proc-macro/derive-same-struct.rs
+++ b/tests/ui/proc-macro/derive-same-struct.rs
@@ -1,8 +1,8 @@
-// run-pass
+//@ run-pass
 
 #![allow(path_statements)]
 #![allow(dead_code)]
-// aux-build:derive-same-struct.rs
+//@ aux-build:derive-same-struct.rs
 
 #[macro_use]
 extern crate derive_same_struct;
diff --git a/tests/ui/proc-macro/derive-still-gated.rs b/tests/ui/proc-macro/derive-still-gated.rs
index 3f8d6f0716b..bce7badeffe 100644
--- a/tests/ui/proc-macro/derive-still-gated.rs
+++ b/tests/ui/proc-macro/derive-still-gated.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/derive-test.rs b/tests/ui/proc-macro/derive-test.rs
index b81e38432e8..246588527d9 100644
--- a/tests/ui/proc-macro/derive-test.rs
+++ b/tests/ui/proc-macro/derive-test.rs
@@ -1,6 +1,6 @@
-// run-pass
-// no-prefer-dynamic
-// compile-flags: --test
+//@ run-pass
+//@ no-prefer-dynamic
+//@ compile-flags: --test
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/derive-two-attrs.rs b/tests/ui/proc-macro/derive-two-attrs.rs
index 08225b8e3f2..91116097665 100644
--- a/tests/ui/proc-macro/derive-two-attrs.rs
+++ b/tests/ui/proc-macro/derive-two-attrs.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(dead_code)]
-// aux-build:derive-two-attrs.rs
+//@ aux-build:derive-two-attrs.rs
 
 extern crate derive_two_attrs as foo;
 
diff --git a/tests/ui/proc-macro/derive-union.rs b/tests/ui/proc-macro/derive-union.rs
index e83eee0936a..d1e65bf4595 100644
--- a/tests/ui/proc-macro/derive-union.rs
+++ b/tests/ui/proc-macro/derive-union.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(unused_variables)]
-// aux-build:derive-union.rs
+//@ aux-build:derive-union.rs
 
 #[macro_use]
 extern crate derive_union;
diff --git a/tests/ui/proc-macro/disappearing-resolution.rs b/tests/ui/proc-macro/disappearing-resolution.rs
index 50f04b1eae1..b8bc2953576 100644
--- a/tests/ui/proc-macro/disappearing-resolution.rs
+++ b/tests/ui/proc-macro/disappearing-resolution.rs
@@ -1,6 +1,6 @@
 // Regression test for issue #64803 (initial attribute resolution can disappear later).
 
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/doc-comment-preserved.rs b/tests/ui/proc-macro/doc-comment-preserved.rs
index ed8ca99bd2c..f0891e7d6a7 100644
--- a/tests/ui/proc-macro/doc-comment-preserved.rs
+++ b/tests/ui/proc-macro/doc-comment-preserved.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/dollar-crate-issue-101211.rs b/tests/ui/proc-macro/dollar-crate-issue-101211.rs
index fc1acfd32d2..fd5768dc7d1 100644
--- a/tests/ui/proc-macro/dollar-crate-issue-101211.rs
+++ b/tests/ui/proc-macro/dollar-crate-issue-101211.rs
@@ -1,6 +1,6 @@
-// check-pass
-// edition:2021
-// aux-build:test-macros.rs
+//@ check-pass
+//@ edition:2021
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/dollar-crate-issue-57089.rs b/tests/ui/proc-macro/dollar-crate-issue-57089.rs
index 27bfa099f21..d4540643e02 100644
--- a/tests/ui/proc-macro/dollar-crate-issue-57089.rs
+++ b/tests/ui/proc-macro/dollar-crate-issue-57089.rs
@@ -1,7 +1,7 @@
-// check-pass
-// edition:2018
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ edition:2018
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/dollar-crate-issue-62325.rs b/tests/ui/proc-macro/dollar-crate-issue-62325.rs
index d828fb9fd80..ee2e0c3973d 100644
--- a/tests/ui/proc-macro/dollar-crate-issue-62325.rs
+++ b/tests/ui/proc-macro/dollar-crate-issue-62325.rs
@@ -1,8 +1,8 @@
-// check-pass
-// edition:2018
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
-// aux-build:dollar-crate-external.rs
+//@ check-pass
+//@ edition:2018
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
+//@ aux-build:dollar-crate-external.rs
 
 
 #![no_std] // Don't load unnecessary hygiene information from std
diff --git a/tests/ui/proc-macro/dollar-crate.rs b/tests/ui/proc-macro/dollar-crate.rs
index ac27dfa1aeb..a487e77a833 100644
--- a/tests/ui/proc-macro/dollar-crate.rs
+++ b/tests/ui/proc-macro/dollar-crate.rs
@@ -1,8 +1,8 @@
-// check-pass
-// edition:2018
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
-// aux-build:dollar-crate-external.rs
+//@ check-pass
+//@ edition:2018
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
+//@ aux-build:dollar-crate-external.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/edition-gated-async-move-syntax-issue89699.rs b/tests/ui/proc-macro/edition-gated-async-move-syntax-issue89699.rs
index 1a9d4601aca..0f302708537 100644
--- a/tests/ui/proc-macro/edition-gated-async-move-syntax-issue89699.rs
+++ b/tests/ui/proc-macro/edition-gated-async-move-syntax-issue89699.rs
@@ -1,8 +1,8 @@
-// aux-build:edition-gated-async-move-syntax.rs
-// edition: 2015
+//@ aux-build:edition-gated-async-move-syntax.rs
+//@ edition: 2015
 
 // Non-regression test for issue #89699, where a proc-macro emitting syntax only available in
-// edition 2018 and up (`async move`) is used on edition 2015
+//@ edition 2018 and up (`async move`) is used on edition 2015
 
 extern crate edition_gated_async_move_syntax;
 
diff --git a/tests/ui/proc-macro/edition-imports-2018.rs b/tests/ui/proc-macro/edition-imports-2018.rs
index 76567353198..de05868ebf9 100644
--- a/tests/ui/proc-macro/edition-imports-2018.rs
+++ b/tests/ui/proc-macro/edition-imports-2018.rs
@@ -1,6 +1,6 @@
-// check-pass
-// edition:2018
-// aux-build:edition-imports-2015.rs
+//@ check-pass
+//@ edition:2018
+//@ aux-build:edition-imports-2015.rs
 
 #[macro_use]
 extern crate edition_imports_2015;
diff --git a/tests/ui/proc-macro/empty-crate.rs b/tests/ui/proc-macro/empty-crate.rs
index 3e54c9feebc..ba4de590e63 100644
--- a/tests/ui/proc-macro/empty-crate.rs
+++ b/tests/ui/proc-macro/empty-crate.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(unused_imports)]
-// aux-build:empty-crate.rs
+//@ aux-build:empty-crate.rs
 
 #[macro_use]
 extern crate empty_crate;
diff --git a/tests/ui/proc-macro/empty-where-clause.rs b/tests/ui/proc-macro/empty-where-clause.rs
index 719555c092a..4e432934e3c 100644
--- a/tests/ui/proc-macro/empty-where-clause.rs
+++ b/tests/ui/proc-macro/empty-where-clause.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 extern crate test_macros;
 use test_macros::recollect_attr;
diff --git a/tests/ui/proc-macro/env.rs b/tests/ui/proc-macro/env.rs
index c0edda4f7df..85bcf4521fe 100644
--- a/tests/ui/proc-macro/env.rs
+++ b/tests/ui/proc-macro/env.rs
@@ -1,7 +1,7 @@
-// aux-build:env.rs
-// run-pass
-// rustc-env: THE_CONST=1
-// compile-flags: -Zunstable-options --env-set THE_CONST=12 --env-set ANOTHER=4
+//@ aux-build:env.rs
+//@ run-pass
+//@ rustc-env: THE_CONST=1
+//@ compile-flags: -Zunstable-options --env-set THE_CONST=12 --env-set ANOTHER=4
 
 #![crate_name = "foo"]
 
diff --git a/tests/ui/proc-macro/expand-expr.rs b/tests/ui/proc-macro/expand-expr.rs
index 89cd1d767a5..5f7375d7450 100644
--- a/tests/ui/proc-macro/expand-expr.rs
+++ b/tests/ui/proc-macro/expand-expr.rs
@@ -1,4 +1,4 @@
-// aux-build:expand-expr.rs
+//@ aux-build:expand-expr.rs
 // no-remap-src-base: check_expand_expr_file!() fails when enabled.
 
 #![feature(concat_bytes)]
diff --git a/tests/ui/proc-macro/expand-to-derive.rs b/tests/ui/proc-macro/expand-to-derive.rs
index ff2876e8471..0b603cd4bcc 100644
--- a/tests/ui/proc-macro/expand-to-derive.rs
+++ b/tests/ui/proc-macro/expand-to-derive.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug --error-format human
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug --error-format human
+//@ aux-build:test-macros.rs
 
 #![feature(rustc_attrs)]
 
diff --git a/tests/ui/proc-macro/expand-to-unstable.rs b/tests/ui/proc-macro/expand-to-unstable.rs
index 0825c1a8ecb..c4eaba6bba2 100644
--- a/tests/ui/proc-macro/expand-to-unstable.rs
+++ b/tests/ui/proc-macro/expand-to-unstable.rs
@@ -1,4 +1,4 @@
-// aux-build:derive-unstable.rs
+//@ aux-build:derive-unstable.rs
 
 #![allow(warnings)]
 
diff --git a/tests/ui/proc-macro/expand-with-a-macro.rs b/tests/ui/proc-macro/expand-with-a-macro.rs
index 042a2836595..fcaafbbc149 100644
--- a/tests/ui/proc-macro/expand-with-a-macro.rs
+++ b/tests/ui/proc-macro/expand-with-a-macro.rs
@@ -1,6 +1,6 @@
-// run-pass
-// needs-unwind
-// aux-build:expand-with-a-macro.rs
+//@ run-pass
+//@ needs-unwind
+//@ aux-build:expand-with-a-macro.rs
 
 
 #![deny(warnings)]
diff --git a/tests/ui/proc-macro/export-macro.rs b/tests/ui/proc-macro/export-macro.rs
index ad69fe5eed2..e6001d06f0f 100644
--- a/tests/ui/proc-macro/export-macro.rs
+++ b/tests/ui/proc-macro/export-macro.rs
@@ -1,7 +1,7 @@
-// error-pattern: cannot export macro_rules! macros from a `proc-macro` crate
+//@ error-pattern: cannot export macro_rules! macros from a `proc-macro` crate
 
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/exports.rs b/tests/ui/proc-macro/exports.rs
index a40c15908bc..ebe73e27ca8 100644
--- a/tests/ui/proc-macro/exports.rs
+++ b/tests/ui/proc-macro/exports.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![allow(warnings)]
diff --git a/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.rs b/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.rs
index d4067a33592..0b34b07edbe 100644
--- a/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.rs
+++ b/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #![feature(decl_macro)]
 #![feature(stmt_expr_attributes)]
diff --git a/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.stdout b/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.stdout
index ddd59b583a8..e11d2c0715c 100644
--- a/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.stdout
+++ b/tests/ui/proc-macro/expr-stmt-nonterminal-tokens.stdout
@@ -3,39 +3,39 @@ PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = #[allow(warning
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "enum",
-        span: #3 bytes(299..303),
+        span: #3 bytes(301..305),
     },
     Ident {
         ident: "E",
-        span: #3 bytes(304..305),
+        span: #3 bytes(306..307),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [
             Ident {
                 ident: "V",
-                span: #3 bytes(320..321),
+                span: #3 bytes(322..323),
             },
             Punct {
                 ch: '=',
                 spacing: Alone,
-                span: #3 bytes(322..323),
+                span: #3 bytes(324..325),
             },
             Group {
                 delimiter: Brace,
                 stream: TokenStream [
                     Ident {
                         ident: "let",
-                        span: #3 bytes(326..329),
+                        span: #3 bytes(328..331),
                     },
                     Ident {
                         ident: "_",
-                        span: #3 bytes(330..331),
+                        span: #3 bytes(332..333),
                     },
                     Punct {
                         ch: '=',
                         spacing: Alone,
-                        span: #3 bytes(332..333),
+                        span: #3 bytes(334..335),
                     },
                     Group {
                         delimiter: None,
@@ -43,83 +43,83 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
                             Punct {
                                 ch: '#',
                                 spacing: Alone,
-                                span: #0 bytes(541..542),
+                                span: #0 bytes(543..544),
                             },
                             Group {
                                 delimiter: Bracket,
                                 stream: TokenStream [
                                     Ident {
                                         ident: "allow",
-                                        span: #0 bytes(543..548),
+                                        span: #0 bytes(545..550),
                                     },
                                     Group {
                                         delimiter: Parenthesis,
                                         stream: TokenStream [
                                             Ident {
                                                 ident: "warnings",
-                                                span: #0 bytes(549..557),
+                                                span: #0 bytes(551..559),
                                             },
                                         ],
-                                        span: #0 bytes(548..558),
+                                        span: #0 bytes(550..560),
                                     },
                                 ],
-                                span: #0 bytes(542..559),
+                                span: #0 bytes(544..561),
                             },
                             Punct {
                                 ch: '#',
                                 spacing: Alone,
-                                span: #0 bytes(541..542),
+                                span: #0 bytes(543..544),
                             },
                             Group {
                                 delimiter: Bracket,
                                 stream: TokenStream [
                                     Ident {
                                         ident: "allow",
-                                        span: #0 bytes(543..548),
+                                        span: #0 bytes(545..550),
                                     },
                                     Group {
                                         delimiter: Parenthesis,
                                         stream: TokenStream [
                                             Ident {
                                                 ident: "warnings",
-                                                span: #0 bytes(549..557),
+                                                span: #0 bytes(551..559),
                                             },
                                         ],
-                                        span: #0 bytes(548..558),
+                                        span: #0 bytes(550..560),
                                     },
                                 ],
-                                span: #0 bytes(542..559),
+                                span: #0 bytes(544..561),
                             },
                             Literal {
                                 kind: Integer,
                                 symbol: "0",
                                 suffix: None,
-                                span: #0 bytes(560..561),
+                                span: #0 bytes(562..563),
                             },
                         ],
-                        span: #3 bytes(334..339),
+                        span: #3 bytes(336..341),
                     },
                     Punct {
                         ch: ';',
                         spacing: Alone,
-                        span: #3 bytes(339..340),
+                        span: #3 bytes(341..342),
                     },
                     Literal {
                         kind: Integer,
                         symbol: "0",
                         suffix: None,
-                        span: #3 bytes(341..342),
+                        span: #3 bytes(343..344),
                     },
                 ],
-                span: #3 bytes(324..344),
+                span: #3 bytes(326..346),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: #3 bytes(344..345),
+                span: #3 bytes(346..347),
             },
         ],
-        span: #3 bytes(306..355),
+        span: #3 bytes(308..357),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { 0; }; 0 }, }
@@ -127,39 +127,39 @@ PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { 0 }; 0 }, }
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "enum",
-        span: #7 bytes(423..427),
+        span: #7 bytes(425..429),
     },
     Ident {
         ident: "E",
-        span: #7 bytes(428..429),
+        span: #7 bytes(430..431),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [
             Ident {
                 ident: "V",
-                span: #7 bytes(444..445),
+                span: #7 bytes(446..447),
             },
             Punct {
                 ch: '=',
                 spacing: Alone,
-                span: #7 bytes(446..447),
+                span: #7 bytes(448..449),
             },
             Group {
                 delimiter: Brace,
                 stream: TokenStream [
                     Ident {
                         ident: "let",
-                        span: #7 bytes(450..453),
+                        span: #7 bytes(452..455),
                     },
                     Ident {
                         ident: "_",
-                        span: #7 bytes(454..455),
+                        span: #7 bytes(456..457),
                     },
                     Punct {
                         ch: '=',
                         spacing: Alone,
-                        span: #7 bytes(456..457),
+                        span: #7 bytes(458..459),
                     },
                     Group {
                         delimiter: Brace,
@@ -171,74 +171,74 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
                                         kind: Integer,
                                         symbol: "0",
                                         suffix: None,
-                                        span: #0 bytes(578..579),
+                                        span: #0 bytes(580..581),
                                     },
                                 ],
-                                span: #7 bytes(460..465),
+                                span: #7 bytes(462..467),
                             },
                         ],
-                        span: #7 bytes(458..467),
+                        span: #7 bytes(460..469),
                     },
                     Punct {
                         ch: ';',
                         spacing: Alone,
-                        span: #7 bytes(467..468),
+                        span: #7 bytes(469..470),
                     },
                     Literal {
                         kind: Integer,
                         symbol: "0",
                         suffix: None,
-                        span: #7 bytes(469..470),
+                        span: #7 bytes(471..472),
                     },
                 ],
-                span: #7 bytes(448..472),
+                span: #7 bytes(450..474),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: #7 bytes(472..473),
+                span: #7 bytes(474..475),
             },
         ],
-        span: #7 bytes(430..483),
+        span: #7 bytes(432..485),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { {} }; 0 }, }
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "enum",
-        span: #11 bytes(423..427),
+        span: #11 bytes(425..429),
     },
     Ident {
         ident: "E",
-        span: #11 bytes(428..429),
+        span: #11 bytes(430..431),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [
             Ident {
                 ident: "V",
-                span: #11 bytes(444..445),
+                span: #11 bytes(446..447),
             },
             Punct {
                 ch: '=',
                 spacing: Alone,
-                span: #11 bytes(446..447),
+                span: #11 bytes(448..449),
             },
             Group {
                 delimiter: Brace,
                 stream: TokenStream [
                     Ident {
                         ident: "let",
-                        span: #11 bytes(450..453),
+                        span: #11 bytes(452..455),
                     },
                     Ident {
                         ident: "_",
-                        span: #11 bytes(454..455),
+                        span: #11 bytes(456..457),
                     },
                     Punct {
                         ch: '=',
                         spacing: Alone,
-                        span: #11 bytes(456..457),
+                        span: #11 bytes(458..459),
                     },
                     Group {
                         delimiter: Brace,
@@ -249,35 +249,35 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
                                     Group {
                                         delimiter: Brace,
                                         stream: TokenStream [],
-                                        span: #0 bytes(596..598),
+                                        span: #0 bytes(598..600),
                                     },
                                 ],
-                                span: #11 bytes(460..465),
+                                span: #11 bytes(462..467),
                             },
                         ],
-                        span: #11 bytes(458..467),
+                        span: #11 bytes(460..469),
                     },
                     Punct {
                         ch: ';',
                         spacing: Alone,
-                        span: #11 bytes(467..468),
+                        span: #11 bytes(469..470),
                     },
                     Literal {
                         kind: Integer,
                         symbol: "0",
                         suffix: None,
-                        span: #11 bytes(469..470),
+                        span: #11 bytes(471..472),
                     },
                 ],
-                span: #11 bytes(448..472),
+                span: #11 bytes(450..474),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: #11 bytes(472..473),
+                span: #11 bytes(474..475),
             },
         ],
-        span: #11 bytes(430..483),
+        span: #11 bytes(432..485),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { PATH; }; 0 }, }
@@ -285,39 +285,39 @@ PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { PATH }; 0 },
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "enum",
-        span: #15 bytes(423..427),
+        span: #15 bytes(425..429),
     },
     Ident {
         ident: "E",
-        span: #15 bytes(428..429),
+        span: #15 bytes(430..431),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [
             Ident {
                 ident: "V",
-                span: #15 bytes(444..445),
+                span: #15 bytes(446..447),
             },
             Punct {
                 ch: '=',
                 spacing: Alone,
-                span: #15 bytes(446..447),
+                span: #15 bytes(448..449),
             },
             Group {
                 delimiter: Brace,
                 stream: TokenStream [
                     Ident {
                         ident: "let",
-                        span: #15 bytes(450..453),
+                        span: #15 bytes(452..455),
                     },
                     Ident {
                         ident: "_",
-                        span: #15 bytes(454..455),
+                        span: #15 bytes(456..457),
                     },
                     Punct {
                         ch: '=',
                         spacing: Alone,
-                        span: #15 bytes(456..457),
+                        span: #15 bytes(458..459),
                     },
                     Group {
                         delimiter: Brace,
@@ -327,35 +327,35 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
                                 stream: TokenStream [
                                     Ident {
                                         ident: "PATH",
-                                        span: #0 bytes(615..619),
+                                        span: #0 bytes(617..621),
                                     },
                                 ],
-                                span: #15 bytes(460..465),
+                                span: #15 bytes(462..467),
                             },
                         ],
-                        span: #15 bytes(458..467),
+                        span: #15 bytes(460..469),
                     },
                     Punct {
                         ch: ';',
                         spacing: Alone,
-                        span: #15 bytes(467..468),
+                        span: #15 bytes(469..470),
                     },
                     Literal {
                         kind: Integer,
                         symbol: "0",
                         suffix: None,
-                        span: #15 bytes(469..470),
+                        span: #15 bytes(471..472),
                     },
                 ],
-                span: #15 bytes(448..472),
+                span: #15 bytes(450..474),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: #15 bytes(472..473),
+                span: #15 bytes(474..475),
             },
         ],
-        span: #15 bytes(430..483),
+        span: #15 bytes(432..485),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { 0 + 1; }; 0 }, }
@@ -363,39 +363,39 @@ PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { 0 + 1 }; 0 },
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "enum",
-        span: #19 bytes(423..427),
+        span: #19 bytes(425..429),
     },
     Ident {
         ident: "E",
-        span: #19 bytes(428..429),
+        span: #19 bytes(430..431),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [
             Ident {
                 ident: "V",
-                span: #19 bytes(444..445),
+                span: #19 bytes(446..447),
             },
             Punct {
                 ch: '=',
                 spacing: Alone,
-                span: #19 bytes(446..447),
+                span: #19 bytes(448..449),
             },
             Group {
                 delimiter: Brace,
                 stream: TokenStream [
                     Ident {
                         ident: "let",
-                        span: #19 bytes(450..453),
+                        span: #19 bytes(452..455),
                     },
                     Ident {
                         ident: "_",
-                        span: #19 bytes(454..455),
+                        span: #19 bytes(456..457),
                     },
                     Punct {
                         ch: '=',
                         spacing: Alone,
-                        span: #19 bytes(456..457),
+                        span: #19 bytes(458..459),
                     },
                     Group {
                         delimiter: Brace,
@@ -407,46 +407,46 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
                                         kind: Integer,
                                         symbol: "0",
                                         suffix: None,
-                                        span: #0 bytes(636..637),
+                                        span: #0 bytes(638..639),
                                     },
                                     Punct {
                                         ch: '+',
                                         spacing: Alone,
-                                        span: #0 bytes(638..639),
+                                        span: #0 bytes(640..641),
                                     },
                                     Literal {
                                         kind: Integer,
                                         symbol: "1",
                                         suffix: None,
-                                        span: #0 bytes(640..641),
+                                        span: #0 bytes(642..643),
                                     },
                                 ],
-                                span: #19 bytes(460..465),
+                                span: #19 bytes(462..467),
                             },
                         ],
-                        span: #19 bytes(458..467),
+                        span: #19 bytes(460..469),
                     },
                     Punct {
                         ch: ';',
                         spacing: Alone,
-                        span: #19 bytes(467..468),
+                        span: #19 bytes(469..470),
                     },
                     Literal {
                         kind: Integer,
                         symbol: "0",
                         suffix: None,
-                        span: #19 bytes(469..470),
+                        span: #19 bytes(471..472),
                     },
                 ],
-                span: #19 bytes(448..472),
+                span: #19 bytes(450..474),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: #19 bytes(472..473),
+                span: #19 bytes(474..475),
             },
         ],
-        span: #19 bytes(430..483),
+        span: #19 bytes(432..485),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): enum E { V = { let _ = { PATH + 1; }; 0 }, }
@@ -454,39 +454,39 @@ PRINT-DERIVE DEEP-RE-COLLECTED (DISPLAY): enum E { V = { let _ = { PATH + 1 }; 0
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "enum",
-        span: #23 bytes(423..427),
+        span: #23 bytes(425..429),
     },
     Ident {
         ident: "E",
-        span: #23 bytes(428..429),
+        span: #23 bytes(430..431),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [
             Ident {
                 ident: "V",
-                span: #23 bytes(444..445),
+                span: #23 bytes(446..447),
             },
             Punct {
                 ch: '=',
                 spacing: Alone,
-                span: #23 bytes(446..447),
+                span: #23 bytes(448..449),
             },
             Group {
                 delimiter: Brace,
                 stream: TokenStream [
                     Ident {
                         ident: "let",
-                        span: #23 bytes(450..453),
+                        span: #23 bytes(452..455),
                     },
                     Ident {
                         ident: "_",
-                        span: #23 bytes(454..455),
+                        span: #23 bytes(456..457),
                     },
                     Punct {
                         ch: '=',
                         spacing: Alone,
-                        span: #23 bytes(456..457),
+                        span: #23 bytes(458..459),
                     },
                     Group {
                         delimiter: Brace,
@@ -496,45 +496,45 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
                                 stream: TokenStream [
                                     Ident {
                                         ident: "PATH",
-                                        span: #0 bytes(658..662),
+                                        span: #0 bytes(660..664),
                                     },
                                     Punct {
                                         ch: '+',
                                         spacing: Alone,
-                                        span: #0 bytes(663..664),
+                                        span: #0 bytes(665..666),
                                     },
                                     Literal {
                                         kind: Integer,
                                         symbol: "1",
                                         suffix: None,
-                                        span: #0 bytes(665..666),
+                                        span: #0 bytes(667..668),
                                     },
                                 ],
-                                span: #23 bytes(460..465),
+                                span: #23 bytes(462..467),
                             },
                         ],
-                        span: #23 bytes(458..467),
+                        span: #23 bytes(460..469),
                     },
                     Punct {
                         ch: ';',
                         spacing: Alone,
-                        span: #23 bytes(467..468),
+                        span: #23 bytes(469..470),
                     },
                     Literal {
                         kind: Integer,
                         symbol: "0",
                         suffix: None,
-                        span: #23 bytes(469..470),
+                        span: #23 bytes(471..472),
                     },
                 ],
-                span: #23 bytes(448..472),
+                span: #23 bytes(450..474),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: #23 bytes(472..473),
+                span: #23 bytes(474..475),
             },
         ],
-        span: #23 bytes(430..483),
+        span: #23 bytes(432..485),
     },
 ]
diff --git a/tests/ui/proc-macro/extern-prelude-extern-crate-proc-macro.rs b/tests/ui/proc-macro/extern-prelude-extern-crate-proc-macro.rs
index 38f61c36c8c..7a5f5341662 100644
--- a/tests/ui/proc-macro/extern-prelude-extern-crate-proc-macro.rs
+++ b/tests/ui/proc-macro/extern-prelude-extern-crate-proc-macro.rs
@@ -1,5 +1,5 @@
-// check-pass
-// edition:2018
+//@ check-pass
+//@ edition:2018
 
 extern crate proc_macro;
 use proc_macro::TokenStream; // OK
diff --git a/tests/ui/proc-macro/gen-lifetime-token.rs b/tests/ui/proc-macro/gen-lifetime-token.rs
index 588bd2b76c1..d65efb5c464 100644
--- a/tests/ui/proc-macro/gen-lifetime-token.rs
+++ b/tests/ui/proc-macro/gen-lifetime-token.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:gen-lifetime-token.rs
+//@ run-pass
+//@ aux-build:gen-lifetime-token.rs
 
 extern crate gen_lifetime_token as bar;
 
diff --git a/tests/ui/proc-macro/gen-macro-rules-hygiene.rs b/tests/ui/proc-macro/gen-macro-rules-hygiene.rs
index 195bda82e9c..2bfbf9dccca 100644
--- a/tests/ui/proc-macro/gen-macro-rules-hygiene.rs
+++ b/tests/ui/proc-macro/gen-macro-rules-hygiene.rs
@@ -2,7 +2,7 @@
 // Local variables and labels are hygienic, items are not hygienic.
 // `$crate` refers to the crate that defines `macro_rules` and not the outer transparent macro.
 
-// aux-build:gen-macro-rules-hygiene.rs
+//@ aux-build:gen-macro-rules-hygiene.rs
 
 #[macro_use]
 extern crate gen_macro_rules_hygiene;
diff --git a/tests/ui/proc-macro/gen-macro-rules.rs b/tests/ui/proc-macro/gen-macro-rules.rs
index 13ad27f9372..5f2cfc70d8e 100644
--- a/tests/ui/proc-macro/gen-macro-rules.rs
+++ b/tests/ui/proc-macro/gen-macro-rules.rs
@@ -1,7 +1,7 @@
 // Derive macros can generate `macro_rules` items, regression test for issue #63651.
 
-// check-pass
-// aux-build:gen-macro-rules.rs
+//@ check-pass
+//@ aux-build:gen-macro-rules.rs
 
 extern crate gen_macro_rules as repro;
 
diff --git a/tests/ui/proc-macro/generate-dollar-ident.rs b/tests/ui/proc-macro/generate-dollar-ident.rs
index b838be9fb9f..c087a206566 100644
--- a/tests/ui/proc-macro/generate-dollar-ident.rs
+++ b/tests/ui/proc-macro/generate-dollar-ident.rs
@@ -1,8 +1,8 @@
 // Proc macros can generate token sequence `$ IDENT`
 // without it being recognized as an unknown macro variable.
 
-// check-pass
-// aux-build:generate-dollar-ident.rs
+//@ check-pass
+//@ aux-build:generate-dollar-ident.rs
 
 extern crate generate_dollar_ident;
 use generate_dollar_ident::*;
diff --git a/tests/ui/proc-macro/generate-mod.rs b/tests/ui/proc-macro/generate-mod.rs
index 471f317edf9..ab93666f28a 100644
--- a/tests/ui/proc-macro/generate-mod.rs
+++ b/tests/ui/proc-macro/generate-mod.rs
@@ -1,6 +1,6 @@
 // Modules generated by transparent proc macros still acts as barriers for names (issue #50504).
 
-// aux-build:generate-mod.rs
+//@ aux-build:generate-mod.rs
 
 extern crate generate_mod;
 
diff --git a/tests/ui/proc-macro/helper-attr-blocked-by-import-ambig.rs b/tests/ui/proc-macro/helper-attr-blocked-by-import-ambig.rs
index 40c42d82f68..03bb04b7786 100644
--- a/tests/ui/proc-macro/helper-attr-blocked-by-import-ambig.rs
+++ b/tests/ui/proc-macro/helper-attr-blocked-by-import-ambig.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use(Empty)]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/helper-attr-blocked-by-import.rs b/tests/ui/proc-macro/helper-attr-blocked-by-import.rs
index 344323122dc..03c30783411 100644
--- a/tests/ui/proc-macro/helper-attr-blocked-by-import.rs
+++ b/tests/ui/proc-macro/helper-attr-blocked-by-import.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use(Empty)]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/hygiene_example.rs b/tests/ui/proc-macro/hygiene_example.rs
index 346ed1207cd..6c3e1067436 100644
--- a/tests/ui/proc-macro/hygiene_example.rs
+++ b/tests/ui/proc-macro/hygiene_example.rs
@@ -1,6 +1,6 @@
-// check-pass
-// aux-build:hygiene_example_codegen.rs
-// aux-build:hygiene_example.rs
+//@ check-pass
+//@ aux-build:hygiene_example_codegen.rs
+//@ aux-build:hygiene_example.rs
 
 extern crate hygiene_example;
 use hygiene_example::hello;
diff --git a/tests/ui/proc-macro/import.rs b/tests/ui/proc-macro/import.rs
index d1b1ff35069..53dc0f4cbed 100644
--- a/tests/ui/proc-macro/import.rs
+++ b/tests/ui/proc-macro/import.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 extern crate test_macros;
 
diff --git a/tests/ui/proc-macro/inert-attribute-order.rs b/tests/ui/proc-macro/inert-attribute-order.rs
index f8079675641..bca4df96040 100644
--- a/tests/ui/proc-macro/inert-attribute-order.rs
+++ b/tests/ui/proc-macro/inert-attribute-order.rs
@@ -1,8 +1,8 @@
 // Order of inert attributes, both built-in and custom is preserved during expansion.
 
-// check-pass
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/inner-attr-non-inline-mod.rs b/tests/ui/proc-macro/inner-attr-non-inline-mod.rs
index 30c2666df47..df006a4d7a9 100644
--- a/tests/ui/proc-macro/inner-attr-non-inline-mod.rs
+++ b/tests/ui/proc-macro/inner-attr-non-inline-mod.rs
@@ -1,8 +1,8 @@
-// compile-flags: -Z span-debug
-// error-pattern:custom inner attributes are unstable
-// error-pattern:inner macro attributes are unstable
-// error-pattern:this was previously accepted
-// aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
+//@ error-pattern:custom inner attributes are unstable
+//@ error-pattern:inner macro attributes are unstable
+//@ error-pattern:this was previously accepted
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/inner-attrs.rs b/tests/ui/proc-macro/inner-attrs.rs
index c448294e0f6..45bb4d3c5bf 100644
--- a/tests/ui/proc-macro/inner-attrs.rs
+++ b/tests/ui/proc-macro/inner-attrs.rs
@@ -1,8 +1,8 @@
 // gate-test-custom_inner_attributes
-// compile-flags: -Z span-debug --error-format human
-// error-pattern:expected non-macro inner attribute
-// aux-build:test-macros.rs
-// edition:2018
+//@ compile-flags: -Z span-debug --error-format human
+//@ error-pattern:expected non-macro inner attribute
+//@ aux-build:test-macros.rs
+//@ edition:2018
 
 #![feature(custom_inner_attributes)]
 #![feature(proc_macro_hygiene)]
diff --git a/tests/ui/proc-macro/input-interpolated.rs b/tests/ui/proc-macro/input-interpolated.rs
index 5e49e330cac..d84572a6afe 100644
--- a/tests/ui/proc-macro/input-interpolated.rs
+++ b/tests/ui/proc-macro/input-interpolated.rs
@@ -1,8 +1,8 @@
 // Check what token streams proc macros see when interpolated tokens are passed to them as input.
 
-// check-pass
-// edition:2018
-// aux-build:test-macros.rs
+//@ check-pass
+//@ edition:2018
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/input-interpolated.stdout b/tests/ui/proc-macro/input-interpolated.stdout
index f2a0bc3b1aa..1bccd8806be 100644
--- a/tests/ui/proc-macro/input-interpolated.stdout
+++ b/tests/ui/proc-macro/input-interpolated.stdout
@@ -2,58 +2,58 @@ PRINT-BANG INPUT (DISPLAY): A
 PRINT-BANG INPUT (DEBUG): TokenStream [
     Ident {
         ident: "A",
-        span: #0 bytes(503..504),
+        span: #0 bytes(506..507),
     },
 ]
 PRINT-ATTR INPUT (DISPLAY): const A : u8 = 0;
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "const",
-        span: #3 bytes(416..421),
+        span: #3 bytes(419..424),
     },
     Ident {
         ident: "A",
-        span: #0 bytes(503..504),
+        span: #0 bytes(506..507),
     },
     Punct {
         ch: ':',
         spacing: Alone,
-        span: #3 bytes(424..425),
+        span: #3 bytes(427..428),
     },
     Ident {
         ident: "u8",
-        span: #3 bytes(426..428),
+        span: #3 bytes(429..431),
     },
     Punct {
         ch: '=',
         spacing: Alone,
-        span: #3 bytes(429..430),
+        span: #3 bytes(432..433),
     },
     Literal {
         kind: Integer,
         symbol: "0",
         suffix: None,
-        span: #3 bytes(431..432),
+        span: #3 bytes(434..435),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #3 bytes(432..433),
+        span: #3 bytes(435..436),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): struct A {}
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #3 bytes(468..474),
+        span: #3 bytes(471..477),
     },
     Ident {
         ident: "A",
-        span: #0 bytes(503..504),
+        span: #0 bytes(506..507),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [],
-        span: #3 bytes(478..480),
+        span: #3 bytes(481..483),
     },
 ]
diff --git a/tests/ui/proc-macro/invalid-attributes.rs b/tests/ui/proc-macro/invalid-attributes.rs
index 6bbe022c690..a70c73e9b8f 100644
--- a/tests/ui/proc-macro/invalid-attributes.rs
+++ b/tests/ui/proc-macro/invalid-attributes.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/invalid-punct-ident-1.rs b/tests/ui/proc-macro/invalid-punct-ident-1.rs
index 9a180273772..b0f163adc02 100644
--- a/tests/ui/proc-macro/invalid-punct-ident-1.rs
+++ b/tests/ui/proc-macro/invalid-punct-ident-1.rs
@@ -1,5 +1,5 @@
-// aux-build:invalid-punct-ident.rs
-// needs-unwind proc macro panics to report errors
+//@ aux-build:invalid-punct-ident.rs
+//@ needs-unwind proc macro panics to report errors
 
 #[macro_use]
 extern crate invalid_punct_ident;
diff --git a/tests/ui/proc-macro/invalid-punct-ident-2.rs b/tests/ui/proc-macro/invalid-punct-ident-2.rs
index afb6985e458..b1f7f570d3f 100644
--- a/tests/ui/proc-macro/invalid-punct-ident-2.rs
+++ b/tests/ui/proc-macro/invalid-punct-ident-2.rs
@@ -1,5 +1,5 @@
-// aux-build:invalid-punct-ident.rs
-// needs-unwind proc macro panics to report errors
+//@ aux-build:invalid-punct-ident.rs
+//@ needs-unwind proc macro panics to report errors
 
 #[macro_use]
 extern crate invalid_punct_ident;
diff --git a/tests/ui/proc-macro/invalid-punct-ident-3.rs b/tests/ui/proc-macro/invalid-punct-ident-3.rs
index ff83695c562..7698d2c4b39 100644
--- a/tests/ui/proc-macro/invalid-punct-ident-3.rs
+++ b/tests/ui/proc-macro/invalid-punct-ident-3.rs
@@ -1,5 +1,5 @@
-// aux-build:invalid-punct-ident.rs
-// needs-unwind proc macro panics to report errors
+//@ aux-build:invalid-punct-ident.rs
+//@ needs-unwind proc macro panics to report errors
 
 #[macro_use]
 extern crate invalid_punct_ident;
diff --git a/tests/ui/proc-macro/invalid-punct-ident-4.rs b/tests/ui/proc-macro/invalid-punct-ident-4.rs
index 2d2774bd194..042fe6c600d 100644
--- a/tests/ui/proc-macro/invalid-punct-ident-4.rs
+++ b/tests/ui/proc-macro/invalid-punct-ident-4.rs
@@ -1,5 +1,5 @@
-// aux-build:invalid-punct-ident.rs
-// needs-unwind proc macro panics to report errors
+//@ aux-build:invalid-punct-ident.rs
+//@ needs-unwind proc macro panics to report errors
 
 #[macro_use]
 extern crate invalid_punct_ident;
diff --git a/tests/ui/proc-macro/is-available.rs b/tests/ui/proc-macro/is-available.rs
index b32bb61b495..36fd44b266f 100644
--- a/tests/ui/proc-macro/is-available.rs
+++ b/tests/ui/proc-macro/is-available.rs
@@ -1,8 +1,8 @@
-// run-pass
+//@ run-pass
 
 extern crate proc_macro;
 
-// aux-build:is-available.rs
+//@ aux-build:is-available.rs
 extern crate is_available;
 
 fn main() {
diff --git a/tests/ui/proc-macro/issue-104884-trait-impl-sugg-err.rs b/tests/ui/proc-macro/issue-104884-trait-impl-sugg-err.rs
index 1e387326b2e..8567d812e4f 100644
--- a/tests/ui/proc-macro/issue-104884-trait-impl-sugg-err.rs
+++ b/tests/ui/proc-macro/issue-104884-trait-impl-sugg-err.rs
@@ -1,4 +1,4 @@
-// aux-build:issue-104884.rs
+//@ aux-build:issue-104884.rs
 
 use std::collections::BinaryHeap;
 
diff --git a/tests/ui/proc-macro/issue-107113-wrap.rs b/tests/ui/proc-macro/issue-107113-wrap.rs
index bc5b44963f7..01bf3615acf 100644
--- a/tests/ui/proc-macro/issue-107113-wrap.rs
+++ b/tests/ui/proc-macro/issue-107113-wrap.rs
@@ -1,5 +1,5 @@
-// edition:2021
-// aux-build:issue-107113.rs
+//@ edition:2021
+//@ aux-build:issue-107113.rs
 
 #[macro_use]
 extern crate issue_107113;
diff --git a/tests/ui/proc-macro/issue-118809.rs b/tests/ui/proc-macro/issue-118809.rs
index 732bf19c173..770b19e8172 100644
--- a/tests/ui/proc-macro/issue-118809.rs
+++ b/tests/ui/proc-macro/issue-118809.rs
@@ -1,4 +1,4 @@
-// aux-build: issue-118809.rs
+//@ aux-build: issue-118809.rs
 
 #[macro_use]
 extern crate issue_118809;
diff --git a/tests/ui/proc-macro/issue-36935.rs b/tests/ui/proc-macro/issue-36935.rs
index 03cdfa05e6b..eb019d1e174 100644
--- a/tests/ui/proc-macro/issue-36935.rs
+++ b/tests/ui/proc-macro/issue-36935.rs
@@ -1,5 +1,5 @@
-// aux-build:test-macros.rs
-// needs-unwind proc macro panics to report errors
+//@ aux-build:test-macros.rs
+//@ needs-unwind proc macro panics to report errors
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/issue-37788.rs b/tests/ui/proc-macro/issue-37788.rs
index 73b1f0d58c8..c32ab6b8116 100644
--- a/tests/ui/proc-macro/issue-37788.rs
+++ b/tests/ui/proc-macro/issue-37788.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/issue-38586.rs b/tests/ui/proc-macro/issue-38586.rs
index 24e88ed93ca..54d5d1038a6 100644
--- a/tests/ui/proc-macro/issue-38586.rs
+++ b/tests/ui/proc-macro/issue-38586.rs
@@ -1,4 +1,4 @@
-// aux-build:issue-38586.rs
+//@ aux-build:issue-38586.rs
 
 #[macro_use]
 extern crate issue_38586;
diff --git a/tests/ui/proc-macro/issue-39889.rs b/tests/ui/proc-macro/issue-39889.rs
index 69bfb4f3cbf..687aefbc068 100644
--- a/tests/ui/proc-macro/issue-39889.rs
+++ b/tests/ui/proc-macro/issue-39889.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(dead_code, unused_macros)]
-// aux-build:issue-39889.rs
+//@ aux-build:issue-39889.rs
 
 extern crate issue_39889;
 use issue_39889::Issue39889;
diff --git a/tests/ui/proc-macro/issue-42708.rs b/tests/ui/proc-macro/issue-42708.rs
index e8f445aaaf7..27cb2f73d56 100644
--- a/tests/ui/proc-macro/issue-42708.rs
+++ b/tests/ui/proc-macro/issue-42708.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:issue-42708.rs
+//@ run-pass
+//@ aux-build:issue-42708.rs
 
 #![feature(decl_macro)]
 #![allow(unused)]
diff --git a/tests/ui/proc-macro/issue-50061.rs b/tests/ui/proc-macro/issue-50061.rs
index 01c6b80b46c..34999bb5070 100644
--- a/tests/ui/proc-macro/issue-50061.rs
+++ b/tests/ui/proc-macro/issue-50061.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(path_statements)]
-// aux-build:issue-50061.rs
+//@ aux-build:issue-50061.rs
 
 #![feature(decl_macro)]
 
diff --git a/tests/ui/proc-macro/issue-50493.rs b/tests/ui/proc-macro/issue-50493.rs
index ce0e0839f1d..5456eddb78d 100644
--- a/tests/ui/proc-macro/issue-50493.rs
+++ b/tests/ui/proc-macro/issue-50493.rs
@@ -1,4 +1,4 @@
-// aux-build:issue-50493.rs
+//@ aux-build:issue-50493.rs
 
 #[macro_use]
 extern crate issue_50493;
diff --git a/tests/ui/proc-macro/issue-53481.rs b/tests/ui/proc-macro/issue-53481.rs
index 922e60a4c4f..636b8e0c0ae 100644
--- a/tests/ui/proc-macro/issue-53481.rs
+++ b/tests/ui/proc-macro/issue-53481.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/issue-59191-replace-root-with-fn.rs b/tests/ui/proc-macro/issue-59191-replace-root-with-fn.rs
index a4161d4fc3d..24e3be0ed2e 100644
--- a/tests/ui/proc-macro/issue-59191-replace-root-with-fn.rs
+++ b/tests/ui/proc-macro/issue-59191-replace-root-with-fn.rs
@@ -1,9 +1,9 @@
 // Test that using a macro to replace the entire crate tree with a non-'mod' item errors out nicely.
 // `issue_59191::no_main` replaces whatever's passed in with `fn main() {}`.
 
-// edition:2018
-// aux-crate:issue_59191=issue-59191.rs
-// error-pattern: requires `sized` lang_item
+//@ edition:2018
+//@ aux-crate:issue_59191=issue-59191.rs
+//@ error-pattern: requires `sized` lang_item
 
 #![feature(custom_inner_attributes)]
 #![issue_59191::no_main]
diff --git a/tests/ui/proc-macro/issue-66286.rs b/tests/ui/proc-macro/issue-66286.rs
index 2a67aeab44e..3ca064768b2 100644
--- a/tests/ui/proc-macro/issue-66286.rs
+++ b/tests/ui/proc-macro/issue-66286.rs
@@ -1,4 +1,4 @@
-// aux-build:issue-66286.rs
+//@ aux-build:issue-66286.rs
 
 // Regression test for #66286.
 
diff --git a/tests/ui/proc-macro/issue-73933-procedural-masquerade.rs b/tests/ui/proc-macro/issue-73933-procedural-masquerade.rs
index a573c6e1c0b..8f07cd34cc9 100644
--- a/tests/ui/proc-macro/issue-73933-procedural-masquerade.rs
+++ b/tests/ui/proc-macro/issue-73933-procedural-masquerade.rs
@@ -1,5 +1,5 @@
-// aux-build:test-macros.rs
-// check-pass
+//@ aux-build:test-macros.rs
+//@ check-pass
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/issue-73933-procedural-masquerade.stdout b/tests/ui/proc-macro/issue-73933-procedural-masquerade.stdout
index 8cd981e03f1..5e39c01ab5e 100644
--- a/tests/ui/proc-macro/issue-73933-procedural-masquerade.stdout
+++ b/tests/ui/proc-macro/issue-73933-procedural-masquerade.stdout
@@ -2,20 +2,20 @@ PRINT-DERIVE INPUT (DISPLAY): enum ProceduralMasqueradeDummyType { Input }
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "enum",
-        span: #0 bytes(100..104),
+        span: #0 bytes(102..106),
     },
     Ident {
         ident: "ProceduralMasqueradeDummyType",
-        span: #0 bytes(105..134),
+        span: #0 bytes(107..136),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [
             Ident {
                 ident: "Input",
-                span: #0 bytes(141..146),
+                span: #0 bytes(143..148),
             },
         ],
-        span: #0 bytes(135..148),
+        span: #0 bytes(137..150),
     },
 ]
diff --git a/tests/ui/proc-macro/issue-75734-pp-paren.rs b/tests/ui/proc-macro/issue-75734-pp-paren.rs
index faa93787d13..ab0f4f72e62 100644
--- a/tests/ui/proc-macro/issue-75734-pp-paren.rs
+++ b/tests/ui/proc-macro/issue-75734-pp-paren.rs
@@ -2,9 +2,9 @@
 // Ensures that we don't lose tokens when pretty-printing would
 // normally insert extra parentheses.
 
-// check-pass
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
+//@ check-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/issue-75801.rs b/tests/ui/proc-macro/issue-75801.rs
index b07cde0fabd..f0a1940cb5c 100644
--- a/tests/ui/proc-macro/issue-75801.rs
+++ b/tests/ui/proc-macro/issue-75801.rs
@@ -1,4 +1,4 @@
-// aux-build: issue-75801.rs
+//@ aux-build: issue-75801.rs
 
 // Regression test for #75801.
 
diff --git a/tests/ui/proc-macro/issue-75930-derive-cfg.rs b/tests/ui/proc-macro/issue-75930-derive-cfg.rs
index 1e37b40c954..f480de24e3e 100644
--- a/tests/ui/proc-macro/issue-75930-derive-cfg.rs
+++ b/tests/ui/proc-macro/issue-75930-derive-cfg.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 // Regression test for issue #75930
 // Tests that we cfg-strip all targets before invoking
diff --git a/tests/ui/proc-macro/issue-76182-leading-vert-pat.rs b/tests/ui/proc-macro/issue-76182-leading-vert-pat.rs
index 7d31de1d22d..dc40a1715a6 100644
--- a/tests/ui/proc-macro/issue-76182-leading-vert-pat.rs
+++ b/tests/ui/proc-macro/issue-76182-leading-vert-pat.rs
@@ -1,6 +1,6 @@
-// check-pass
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
+//@ check-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
 //
 // Regression test for issue #76182
 // Tests that we properly handle patterns with a leading vert
diff --git a/tests/ui/proc-macro/issue-76270-panic-in-libproc-macro.rs b/tests/ui/proc-macro/issue-76270-panic-in-libproc-macro.rs
index 5aefec3ece0..001a09fc552 100644
--- a/tests/ui/proc-macro/issue-76270-panic-in-libproc-macro.rs
+++ b/tests/ui/proc-macro/issue-76270-panic-in-libproc-macro.rs
@@ -1,6 +1,6 @@
-// aux-build:proc-macro-panic.rs
-// edition:2018
-// needs-unwind proc macro panics to report errors
+//@ aux-build:proc-macro-panic.rs
+//@ edition:2018
+//@ needs-unwind proc macro panics to report errors
 
 // Regression test for issue #76270
 // Tests that we don't print an ICE message when a panic
diff --git a/tests/ui/proc-macro/issue-78675-captured-inner-attrs.rs b/tests/ui/proc-macro/issue-78675-captured-inner-attrs.rs
index 478809324ee..d3716b22729 100644
--- a/tests/ui/proc-macro/issue-78675-captured-inner-attrs.rs
+++ b/tests/ui/proc-macro/issue-78675-captured-inner-attrs.rs
@@ -1,7 +1,7 @@
-// check-pass
-// edition:2018
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ edition:2018
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/issue-79148.rs b/tests/ui/proc-macro/issue-79148.rs
index 3f01187a8bf..96ee5e033e1 100644
--- a/tests/ui/proc-macro/issue-79148.rs
+++ b/tests/ui/proc-macro/issue-79148.rs
@@ -1,5 +1,5 @@
-// aux-build:re-export.rs
-// edition:2018
+//@ aux-build:re-export.rs
+//@ edition:2018
 
 extern crate re_export;
 
diff --git a/tests/ui/proc-macro/issue-79242-slow-retokenize-check.rs b/tests/ui/proc-macro/issue-79242-slow-retokenize-check.rs
index b68f19c5dd2..d0c14d8b5d0 100644
--- a/tests/ui/proc-macro/issue-79242-slow-retokenize-check.rs
+++ b/tests/ui/proc-macro/issue-79242-slow-retokenize-check.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:issue-79242.rs
+//@ check-pass
+//@ aux-build:issue-79242.rs
 
 // Regression test for issue #79242
 // Tests that compilation time doesn't blow up for a proc-macro
diff --git a/tests/ui/proc-macro/issue-79825.rs b/tests/ui/proc-macro/issue-79825.rs
index f628469ce3a..f846bb40486 100644
--- a/tests/ui/proc-macro/issue-79825.rs
+++ b/tests/ui/proc-macro/issue-79825.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:issue-79825.rs
+//@ check-pass
+//@ aux-build:issue-79825.rs
 #![feature(trait_alias)]
 
 extern crate issue_79825;
diff --git a/tests/ui/proc-macro/issue-80760-empty-stmt.rs b/tests/ui/proc-macro/issue-80760-empty-stmt.rs
index 86865af0b52..59244e12eb8 100644
--- a/tests/ui/proc-macro/issue-80760-empty-stmt.rs
+++ b/tests/ui/proc-macro/issue-80760-empty-stmt.rs
@@ -1,6 +1,6 @@
-// check-pass
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
+//@ check-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/issue-81007-item-attrs.rs b/tests/ui/proc-macro/issue-81007-item-attrs.rs
index ea27d54ee41..ab47c9df081 100644
--- a/tests/ui/proc-macro/issue-81007-item-attrs.rs
+++ b/tests/ui/proc-macro/issue-81007-item-attrs.rs
@@ -1,7 +1,7 @@
-// check-pass
-// edition:2018
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ edition:2018
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 #![feature(rustc_attrs)]
 
diff --git a/tests/ui/proc-macro/issue-81543-item-parse-err.rs b/tests/ui/proc-macro/issue-81543-item-parse-err.rs
index 027389556fe..f3c307318a0 100644
--- a/tests/ui/proc-macro/issue-81543-item-parse-err.rs
+++ b/tests/ui/proc-macro/issue-81543-item-parse-err.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 // Regression test for issue #81543
 // Tests that we emit a properly spanned error
diff --git a/tests/ui/proc-macro/issue-81555.rs b/tests/ui/proc-macro/issue-81555.rs
index 693f1f7dc39..7a61a31952f 100644
--- a/tests/ui/proc-macro/issue-81555.rs
+++ b/tests/ui/proc-macro/issue-81555.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 #![feature(stmt_expr_attributes, proc_macro_hygiene)]
 
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/issue-83510.rs b/tests/ui/proc-macro/issue-83510.rs
index 2b1aec4df0b..ea8a334f57c 100644
--- a/tests/ui/proc-macro/issue-83510.rs
+++ b/tests/ui/proc-macro/issue-83510.rs
@@ -1,4 +1,4 @@
-// aux-build: issue-83510.rs
+//@ aux-build: issue-83510.rs
 
 extern crate issue_83510;
 
diff --git a/tests/ui/proc-macro/issue-86781-bad-inner-doc.fixed b/tests/ui/proc-macro/issue-86781-bad-inner-doc.fixed
index 426a5fa723f..367ad66a1a6 100644
--- a/tests/ui/proc-macro/issue-86781-bad-inner-doc.fixed
+++ b/tests/ui/proc-macro/issue-86781-bad-inner-doc.fixed
@@ -1,5 +1,5 @@
-// aux-build:test-macros.rs
-// run-rustfix
+//@ aux-build:test-macros.rs
+//@ run-rustfix
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/issue-86781-bad-inner-doc.rs b/tests/ui/proc-macro/issue-86781-bad-inner-doc.rs
index 31e3f3c8592..c49619ef2ac 100644
--- a/tests/ui/proc-macro/issue-86781-bad-inner-doc.rs
+++ b/tests/ui/proc-macro/issue-86781-bad-inner-doc.rs
@@ -1,5 +1,5 @@
-// aux-build:test-macros.rs
-// run-rustfix
+//@ aux-build:test-macros.rs
+//@ run-rustfix
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.fixed b/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.fixed
index a61c868ed0a..9845bf8f2b6 100644
--- a/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.fixed
+++ b/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.fixed
@@ -1,4 +1,4 @@
-// run-rustfix
+//@ run-rustfix
 
 #[derive(Debug)] //~ ERROR `derive` attribute cannot be used at crate level
 #[allow(dead_code)]
diff --git a/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs b/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs
index 403f4470de7..edc3ab9736d 100644
--- a/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs
+++ b/tests/ui/proc-macro/issue-89566-suggest-fix-invalid-top-level-macro-attr.rs
@@ -1,4 +1,4 @@
-// run-rustfix
+//@ run-rustfix
 
 #![derive(Debug)] //~ ERROR `derive` attribute cannot be used at crate level
 #[allow(dead_code)]
diff --git a/tests/ui/proc-macro/issue-91800.rs b/tests/ui/proc-macro/issue-91800.rs
index f48c8bf72d7..b69fce4cf77 100644
--- a/tests/ui/proc-macro/issue-91800.rs
+++ b/tests/ui/proc-macro/issue-91800.rs
@@ -1,4 +1,4 @@
-// aux-build: issue-91800-macro.rs
+//@ aux-build: issue-91800-macro.rs
 
 #[macro_use]
 extern crate issue_91800_macro;
diff --git a/tests/ui/proc-macro/item-error.rs b/tests/ui/proc-macro/item-error.rs
index 64c203e5480..f3e3eafcd8d 100644
--- a/tests/ui/proc-macro/item-error.rs
+++ b/tests/ui/proc-macro/item-error.rs
@@ -1,4 +1,4 @@
-// aux-build:derive-b.rs
+//@ aux-build:derive-b.rs
 
 #![allow(warnings)]
 
diff --git a/tests/ui/proc-macro/keep-expr-tokens.rs b/tests/ui/proc-macro/keep-expr-tokens.rs
index 0bf889a855d..ced7fad47b9 100644
--- a/tests/ui/proc-macro/keep-expr-tokens.rs
+++ b/tests/ui/proc-macro/keep-expr-tokens.rs
@@ -1,5 +1,5 @@
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
 
 #![feature(stmt_expr_attributes)]
 #![feature(proc_macro_hygiene)]
diff --git a/tests/ui/proc-macro/lifetimes-rpass.rs b/tests/ui/proc-macro/lifetimes-rpass.rs
index a1d33ddca70..a6b1f46a5d1 100644
--- a/tests/ui/proc-macro/lifetimes-rpass.rs
+++ b/tests/ui/proc-macro/lifetimes-rpass.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(unused_variables)]
-// aux-build:lifetimes-rpass.rs
+//@ aux-build:lifetimes-rpass.rs
 
 extern crate lifetimes_rpass as lifetimes;
 use lifetimes::*;
diff --git a/tests/ui/proc-macro/lifetimes.rs b/tests/ui/proc-macro/lifetimes.rs
index 5605696715e..0c5d3e2f72f 100644
--- a/tests/ui/proc-macro/lifetimes.rs
+++ b/tests/ui/proc-macro/lifetimes.rs
@@ -1,4 +1,4 @@
-// aux-build:lifetimes.rs
+//@ aux-build:lifetimes.rs
 
 extern crate lifetimes;
 
diff --git a/tests/ui/proc-macro/lints_in_proc_macros.rs b/tests/ui/proc-macro/lints_in_proc_macros.rs
index 377a1f25b63..13ae7239a14 100644
--- a/tests/ui/proc-macro/lints_in_proc_macros.rs
+++ b/tests/ui/proc-macro/lints_in_proc_macros.rs
@@ -1,4 +1,4 @@
-// aux-build:bang_proc_macro2.rs
+//@ aux-build:bang_proc_macro2.rs
 
 extern crate bang_proc_macro2;
 
diff --git a/tests/ui/proc-macro/literal-to-string.rs b/tests/ui/proc-macro/literal-to-string.rs
index eb009036a9a..e87315fe144 100644
--- a/tests/ui/proc-macro/literal-to-string.rs
+++ b/tests/ui/proc-macro/literal-to-string.rs
@@ -1,7 +1,7 @@
-// check-pass
-// edition: 2021
+//@ check-pass
+//@ edition: 2021
 
-// aux-build: print-tokens.rs
+//@ aux-build: print-tokens.rs
 extern crate print_tokens;
 
 fn main() {
diff --git a/tests/ui/proc-macro/literal-to-string.stdout b/tests/ui/proc-macro/literal-to-string.stdout
index ec6427545f4..c3114265e0a 100644
--- a/tests/ui/proc-macro/literal-to-string.stdout
+++ b/tests/ui/proc-macro/literal-to-string.stdout
@@ -3,91 +3,91 @@ TokenStream [
         kind: Integer,
         symbol: "1",
         suffix: None,
-        span: #0 bytes(144..145),
+        span: #0 bytes(147..148),
     },
     Literal {
         kind: Integer,
         symbol: "17",
         suffix: Some("u8"),
-        span: #0 bytes(154..158),
+        span: #0 bytes(157..161),
     },
     Literal {
         kind: Float,
         symbol: "42.",
         suffix: None,
-        span: #0 bytes(167..170),
+        span: #0 bytes(170..173),
     },
     Literal {
         kind: Float,
         symbol: "3.14",
         suffix: Some("f32"),
-        span: #0 bytes(179..186),
+        span: #0 bytes(182..189),
     },
     Literal {
         kind: Byte,
         symbol: "a",
         suffix: None,
-        span: #0 bytes(195..199),
+        span: #0 bytes(198..202),
     },
     Literal {
         kind: Byte,
         symbol: "\xFF",
         suffix: None,
-        span: #0 bytes(208..215),
+        span: #0 bytes(211..218),
     },
     Literal {
         kind: Char,
         symbol: "c",
         suffix: None,
-        span: #0 bytes(224..227),
+        span: #0 bytes(227..230),
     },
     Literal {
         kind: Char,
         symbol: "\x32",
         suffix: None,
-        span: #0 bytes(236..242),
+        span: #0 bytes(239..245),
     },
     Literal {
         kind: Str,
         symbol: "\\"str\\"",
         suffix: None,
-        span: #0 bytes(251..260),
+        span: #0 bytes(254..263),
     },
     Literal {
         kind: StrRaw(1),
         symbol: "\"raw\" str",
         suffix: None,
-        span: #0 bytes(269..283),
+        span: #0 bytes(272..286),
     },
     Literal {
         kind: StrRaw(3),
         symbol: "very ##\"raw\"## str",
         suffix: None,
-        span: #0 bytes(292..319),
+        span: #0 bytes(295..322),
     },
     Literal {
         kind: ByteStr,
         symbol: "\\"byte\\" str",
         suffix: None,
-        span: #0 bytes(328..343),
+        span: #0 bytes(331..346),
     },
     Literal {
         kind: ByteStrRaw(1),
         symbol: "\"raw\" \"byte\" str",
         suffix: None,
-        span: #0 bytes(352..374),
+        span: #0 bytes(355..377),
     },
     Literal {
         kind: CStr,
         symbol: "\\"c\\" str",
         suffix: None,
-        span: #0 bytes(383..395),
+        span: #0 bytes(386..398),
     },
     Literal {
         kind: CStrRaw(1),
         symbol: "\"raw\" \"c\" str",
         suffix: None,
-        span: #0 bytes(404..423),
+        span: #0 bytes(407..426),
     },
 ]
 1
diff --git a/tests/ui/proc-macro/load-panic-backtrace.rs b/tests/ui/proc-macro/load-panic-backtrace.rs
index bcdcb704a75..56ef4e9e088 100644
--- a/tests/ui/proc-macro/load-panic-backtrace.rs
+++ b/tests/ui/proc-macro/load-panic-backtrace.rs
@@ -1,9 +1,9 @@
-// aux-build:test-macros.rs
-// compile-flags: -Z proc-macro-backtrace
-// rustc-env:RUST_BACKTRACE=0
-// normalize-stderr-test "thread '.*' panicked " -> ""
-// normalize-stderr-test "note:.*RUST_BACKTRACE=1.*\n" -> ""
-// needs-unwind proc macro panics to report errors
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z proc-macro-backtrace
+//@ rustc-env:RUST_BACKTRACE=0
+//@ normalize-stderr-test "thread '.*' panicked " -> ""
+//@ normalize-stderr-test "note:.*RUST_BACKTRACE=1.*\n" -> ""
+//@ needs-unwind proc macro panics to report errors
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/load-panic.rs b/tests/ui/proc-macro/load-panic.rs
index 6ce88c400e0..50475a34226 100644
--- a/tests/ui/proc-macro/load-panic.rs
+++ b/tests/ui/proc-macro/load-panic.rs
@@ -1,5 +1,5 @@
-// aux-build:test-macros.rs
-// needs-unwind proc macro panics to report errors
+//@ aux-build:test-macros.rs
+//@ needs-unwind proc macro panics to report errors
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/load-two.rs b/tests/ui/proc-macro/load-two.rs
index 5ce0e65452e..44fcdb056dd 100644
--- a/tests/ui/proc-macro/load-two.rs
+++ b/tests/ui/proc-macro/load-two.rs
@@ -1,9 +1,9 @@
-// run-pass
+//@ run-pass
 
 #![allow(path_statements)]
 #![allow(dead_code)]
-// aux-build:derive-atob.rs
-// aux-build:derive-ctod.rs
+//@ aux-build:derive-atob.rs
+//@ aux-build:derive-ctod.rs
 
 #[macro_use]
 extern crate derive_atob;
diff --git a/tests/ui/proc-macro/macro-brackets.rs b/tests/ui/proc-macro/macro-brackets.rs
index aa0046f4582..91bd652d37b 100644
--- a/tests/ui/proc-macro/macro-brackets.rs
+++ b/tests/ui/proc-macro/macro-brackets.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/macro-crate-multi-decorator.rs b/tests/ui/proc-macro/macro-crate-multi-decorator.rs
index ec57dec14ed..26a2d1592ab 100644
--- a/tests/ui/proc-macro/macro-crate-multi-decorator.rs
+++ b/tests/ui/proc-macro/macro-crate-multi-decorator.rs
@@ -1,7 +1,7 @@
 // The duplicate macro will create a copy of the item with the given identifier.
 
-// check-pass
-// aux-build:duplicate.rs
+//@ check-pass
+//@ aux-build:duplicate.rs
 
 #[macro_use]
 extern crate duplicate;
diff --git a/tests/ui/proc-macro/macro-namespace-reserved-2.rs b/tests/ui/proc-macro/macro-namespace-reserved-2.rs
index 470b22b4874..79f591d8cb6 100644
--- a/tests/ui/proc-macro/macro-namespace-reserved-2.rs
+++ b/tests/ui/proc-macro/macro-namespace-reserved-2.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/macro-namespace-reserved.rs b/tests/ui/proc-macro/macro-namespace-reserved.rs
index 60d379e41ad..26eb94d800c 100644
--- a/tests/ui/proc-macro/macro-namespace-reserved.rs
+++ b/tests/ui/proc-macro/macro-namespace-reserved.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![feature(decl_macro)]
 #![crate_type = "proc-macro"]
diff --git a/tests/ui/proc-macro/macro-quote-cond.rs b/tests/ui/proc-macro/macro-quote-cond.rs
index 48307f4d9ae..3658e2a28f2 100644
--- a/tests/ui/proc-macro/macro-quote-cond.rs
+++ b/tests/ui/proc-macro/macro-quote-cond.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:cond_plugin.rs
+//@ run-pass
+//@ aux-build:cond_plugin.rs
 
 #![allow(unused_parens)]
 
diff --git a/tests/ui/proc-macro/macro-rules-derive-cfg.rs b/tests/ui/proc-macro/macro-rules-derive-cfg.rs
index a221b9578af..68026a60be6 100644
--- a/tests/ui/proc-macro/macro-rules-derive-cfg.rs
+++ b/tests/ui/proc-macro/macro-rules-derive-cfg.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug --error-format human
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug --error-format human
+//@ aux-build:test-macros.rs
 
 #![feature(rustc_attrs)]
 #![feature(stmt_expr_attributes)]
diff --git a/tests/ui/proc-macro/macro-rules-derive.rs b/tests/ui/proc-macro/macro-rules-derive.rs
index e0c40bbc734..4023a9a044a 100644
--- a/tests/ui/proc-macro/macro-rules-derive.rs
+++ b/tests/ui/proc-macro/macro-rules-derive.rs
@@ -1,4 +1,4 @@
-// aux-build:first-second.rs
+//@ aux-build:first-second.rs
 
 extern crate first_second;
 use first_second::*;
diff --git a/tests/ui/proc-macro/macro-use-attr.rs b/tests/ui/proc-macro/macro-use-attr.rs
index d275fb6a804..fe071b26383 100644
--- a/tests/ui/proc-macro/macro-use-attr.rs
+++ b/tests/ui/proc-macro/macro-use-attr.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/macro-use-bang.rs b/tests/ui/proc-macro/macro-use-bang.rs
index e3174fd446a..f8ccba6b094 100644
--- a/tests/ui/proc-macro/macro-use-bang.rs
+++ b/tests/ui/proc-macro/macro-use-bang.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/macros-in-extern.rs b/tests/ui/proc-macro/macros-in-extern.rs
index 57e2066d83c..82ab7b506ba 100644
--- a/tests/ui/proc-macro/macros-in-extern.rs
+++ b/tests/ui/proc-macro/macros-in-extern.rs
@@ -1,6 +1,6 @@
-// run-pass
-// aux-build:test-macros.rs
-// ignore-wasm32
+//@ run-pass
+//@ aux-build:test-macros.rs
+//@ ignore-wasm32
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/macros-in-type.rs b/tests/ui/proc-macro/macros-in-type.rs
index 19ed58eceb9..4db7cf273f7 100644
--- a/tests/ui/proc-macro/macros-in-type.rs
+++ b/tests/ui/proc-macro/macros-in-type.rs
@@ -1,5 +1,5 @@
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/meta-delim.rs b/tests/ui/proc-macro/meta-delim.rs
index 964291bc678..1afba1fd343 100644
--- a/tests/ui/proc-macro/meta-delim.rs
+++ b/tests/ui/proc-macro/meta-delim.rs
@@ -1,6 +1,6 @@
-// aux-build:meta-delim.rs
-// edition:2018
-// run-pass
+//@ aux-build:meta-delim.rs
+//@ edition:2018
+//@ run-pass
 
 // Tests that we can properly deserialize a macro with strange delimiters
 // See https://github.com/rust-lang/rust/pull/73569#issuecomment-650860457
diff --git a/tests/ui/proc-macro/meta-macro-hygiene.rs b/tests/ui/proc-macro/meta-macro-hygiene.rs
index 72fd88e119f..9dac1030b9c 100644
--- a/tests/ui/proc-macro/meta-macro-hygiene.rs
+++ b/tests/ui/proc-macro/meta-macro-hygiene.rs
@@ -1,12 +1,12 @@
-// aux-build:make-macro.rs
-// aux-build:meta-macro.rs
-// edition:2018
-// compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene -Z trim-diagnostic-paths=no
-// check-pass
+//@ aux-build:make-macro.rs
+//@ aux-build:meta-macro.rs
+//@ edition:2018
+//@ compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene -Z trim-diagnostic-paths=no
+//@ check-pass
 // ignore-tidy-linelength
-// normalize-stdout-test "\d+#" -> "0#"
-// normalize-stdout-test "expn\d{3,}" -> "expnNNN"
-// normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
+//@ normalize-stdout-test "\d+#" -> "0#"
+//@ normalize-stdout-test "expn\d{3,}" -> "expnNNN"
+//@ normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
 //
 // We don't care about symbol ids, so we set them all to 0
 // in the stdout
diff --git a/tests/ui/proc-macro/meta-macro-hygiene.stdout b/tests/ui/proc-macro/meta-macro-hygiene.stdout
index 3672a3590fd..8697ba58a39 100644
--- a/tests/ui/proc-macro/meta-macro-hygiene.stdout
+++ b/tests/ui/proc-macro/meta-macro-hygiene.stdout
@@ -2,15 +2,15 @@ Def site: $DIR/auxiliary/make-macro.rs:7:9: 7:56 (#4)
 Input: TokenStream [Ident { ident: "$crate", span: $DIR/meta-macro-hygiene.rs:26:37: 26:43 (#3) }, Punct { ch: ':', spacing: Joint, span: $DIR/meta-macro-hygiene.rs:26:43: 26:44 (#3) }, Punct { ch: ':', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:26:44: 26:45 (#3) }, Ident { ident: "dummy", span: $DIR/meta-macro-hygiene.rs:26:45: 26:50 (#3) }, Punct { ch: '!', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:26:50: 26:51 (#3) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/meta-macro-hygiene.rs:26:51: 26:53 (#3) }]
 Respanned: TokenStream [Ident { ident: "$crate", span: $DIR/auxiliary/make-macro.rs:7:9: 7:56 (#4) }, Punct { ch: ':', spacing: Joint, span: $DIR/auxiliary/make-macro.rs:7:9: 7:56 (#4) }, Punct { ch: ':', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 7:56 (#4) }, Ident { ident: "dummy", span: $DIR/auxiliary/make-macro.rs:7:9: 7:56 (#4) }, Punct { ch: '!', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 7:56 (#4) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/auxiliary/make-macro.rs:7:9: 7:56 (#4) }]
 #![feature /* 0#0 */(prelude_import)]
-// aux-build:make-macro.rs
-// aux-build:meta-macro.rs
-// edition:2018
-// compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene -Z trim-diagnostic-paths=no
-// check-pass
+//@ aux-build:make-macro.rs
+//@ aux-build:meta-macro.rs
+//@ edition:2018
+//@ compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene -Z trim-diagnostic-paths=no
+//@ check-pass
 // ignore-tidy-linelength
-// normalize-stdout-test "\d+#" -> "0#"
-// normalize-stdout-test "expn\d{3,}" -> "expnNNN"
-// normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
+//@ normalize-stdout-test "\d+#" -> "0#"
+//@ normalize-stdout-test "expn\d{3,}" -> "expnNNN"
+//@ normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
 //
 // We don't care about symbol ids, so we set them all to 0
 // in the stdout
diff --git a/tests/ui/proc-macro/meta-macro.rs b/tests/ui/proc-macro/meta-macro.rs
index dbac90382d1..abe63c60fb8 100644
--- a/tests/ui/proc-macro/meta-macro.rs
+++ b/tests/ui/proc-macro/meta-macro.rs
@@ -1,8 +1,8 @@
-// aux-build:make-macro.rs
-// aux-build:meta-macro.rs
-// edition:2018
-// compile-flags: -Z span-debug
-// run-pass
+//@ aux-build:make-macro.rs
+//@ aux-build:meta-macro.rs
+//@ edition:2018
+//@ compile-flags: -Z span-debug
+//@ run-pass
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/mixed-site-span.rs b/tests/ui/proc-macro/mixed-site-span.rs
index 0083846568e..bab76a8c433 100644
--- a/tests/ui/proc-macro/mixed-site-span.rs
+++ b/tests/ui/proc-macro/mixed-site-span.rs
@@ -1,6 +1,6 @@
 // Proc macros using `mixed_site` spans exhibit usual properties of `macro_rules` hygiene.
 
-// aux-build:mixed-site-span.rs
+//@ aux-build:mixed-site-span.rs
 
 #[macro_use]
 extern crate mixed_site_span;
diff --git a/tests/ui/proc-macro/modify-ast.rs b/tests/ui/proc-macro/modify-ast.rs
index ea9bf837c24..86a7d6a7772 100644
--- a/tests/ui/proc-macro/modify-ast.rs
+++ b/tests/ui/proc-macro/modify-ast.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:modify-ast.rs
+//@ run-pass
+//@ aux-build:modify-ast.rs
 
 extern crate modify_ast;
 
diff --git a/tests/ui/proc-macro/module.rs b/tests/ui/proc-macro/module.rs
index a750083c607..210c05988bf 100644
--- a/tests/ui/proc-macro/module.rs
+++ b/tests/ui/proc-macro/module.rs
@@ -1 +1 @@
-// ignore-test (auxiliary, used by other tests)
+//@ ignore-test (auxiliary, used by other tests)
diff --git a/tests/ui/proc-macro/module_with_attrs.rs b/tests/ui/proc-macro/module_with_attrs.rs
index 0b2604f95b6..8a4ca92e44b 100644
--- a/tests/ui/proc-macro/module_with_attrs.rs
+++ b/tests/ui/proc-macro/module_with_attrs.rs
@@ -1,4 +1,4 @@
-// ignore-test (auxiliary, used by other tests)
+//@ ignore-test (auxiliary, used by other tests)
 
 #![rustfmt::skip]
 #![print_attr]
diff --git a/tests/ui/proc-macro/multispan.rs b/tests/ui/proc-macro/multispan.rs
index e9e0349f2c2..60f67c8c67c 100644
--- a/tests/ui/proc-macro/multispan.rs
+++ b/tests/ui/proc-macro/multispan.rs
@@ -1,4 +1,4 @@
-// aux-build:multispan.rs
+//@ aux-build:multispan.rs
 
 extern crate multispan;
 
diff --git a/tests/ui/proc-macro/negative-token.rs b/tests/ui/proc-macro/negative-token.rs
index 2ed3cbc08cd..32408e0d936 100644
--- a/tests/ui/proc-macro/negative-token.rs
+++ b/tests/ui/proc-macro/negative-token.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:negative-token.rs
+//@ run-pass
+//@ aux-build:negative-token.rs
 
 extern crate negative_token;
 
diff --git a/tests/ui/proc-macro/nested-derive-cfg.rs b/tests/ui/proc-macro/nested-derive-cfg.rs
index 53cfbb7c98f..696a5024ec2 100644
--- a/tests/ui/proc-macro/nested-derive-cfg.rs
+++ b/tests/ui/proc-macro/nested-derive-cfg.rs
@@ -1,6 +1,6 @@
-// compile-flags: -Z span-debug --error-format human
-// aux-build:test-macros.rs
-// check-pass
+//@ compile-flags: -Z span-debug --error-format human
+//@ aux-build:test-macros.rs
+//@ check-pass
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/nested-item-spans.rs b/tests/ui/proc-macro/nested-item-spans.rs
index 63da170d0bb..c19af0f9796 100644
--- a/tests/ui/proc-macro/nested-item-spans.rs
+++ b/tests/ui/proc-macro/nested-item-spans.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/nested-macro-rules.rs b/tests/ui/proc-macro/nested-macro-rules.rs
index 25ffcfad7c7..bb25b97df50 100644
--- a/tests/ui/proc-macro/nested-macro-rules.rs
+++ b/tests/ui/proc-macro/nested-macro-rules.rs
@@ -1,8 +1,8 @@
-// run-pass
-// aux-build:nested-macro-rules.rs
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug -Z macro-backtrace
-// edition:2018
+//@ run-pass
+//@ aux-build:nested-macro-rules.rs
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug -Z macro-backtrace
+//@ edition:2018
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/nested-nonterminal-tokens.rs b/tests/ui/proc-macro/nested-nonterminal-tokens.rs
index 04d34e21cdc..6e28cabd2fe 100644
--- a/tests/ui/proc-macro/nested-nonterminal-tokens.rs
+++ b/tests/ui/proc-macro/nested-nonterminal-tokens.rs
@@ -1,7 +1,7 @@
-// check-pass
-// edition:2018
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ edition:2018
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 // Tests that we properly pass tokens to proc-macro when nested
 // nonterminals are involved.
diff --git a/tests/ui/proc-macro/no-macro-use-attr.rs b/tests/ui/proc-macro/no-macro-use-attr.rs
index a8a8fa4e19a..ae507a31ba7 100644
--- a/tests/ui/proc-macro/no-macro-use-attr.rs
+++ b/tests/ui/proc-macro/no-macro-use-attr.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #![feature(rustc_attrs)]
 #![warn(unused_extern_crates)]
diff --git a/tests/ui/proc-macro/no-mangle-in-proc-macro-issue-111888.rs b/tests/ui/proc-macro/no-mangle-in-proc-macro-issue-111888.rs
index 4e5208e5058..e04d45bbd0d 100644
--- a/tests/ui/proc-macro/no-mangle-in-proc-macro-issue-111888.rs
+++ b/tests/ui/proc-macro/no-mangle-in-proc-macro-issue-111888.rs
@@ -1,7 +1,7 @@
-// build-pass
-// force-host
-// no-prefer-dynamic
-// aux-build:exports_no_mangle.rs
+//@ build-pass
+//@ force-host
+//@ no-prefer-dynamic
+//@ aux-build:exports_no_mangle.rs
 #![crate_type = "proc-macro"]
 
 // Issue #111888: this proc-macro crate imports another crate that itself
diff --git a/tests/ui/proc-macro/no-missing-docs.rs b/tests/ui/proc-macro/no-missing-docs.rs
index e1e8218582f..124af9bea75 100644
--- a/tests/ui/proc-macro/no-missing-docs.rs
+++ b/tests/ui/proc-macro/no-missing-docs.rs
@@ -1,9 +1,9 @@
 //! Verify that the `decls` module implicitly added by the compiler does not cause `missing_docs`
 //! warnings.
 
-// build-pass (FIXME(62277): could be check-pass?)
-// force-host
-// no-prefer-dynamic
+//@ build-pass (FIXME(62277): could be check-pass?)
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![deny(missing_docs)]
diff --git a/tests/ui/proc-macro/nodelim-groups.rs b/tests/ui/proc-macro/nodelim-groups.rs
index ec301990281..f13d97aaff5 100644
--- a/tests/ui/proc-macro/nodelim-groups.rs
+++ b/tests/ui/proc-macro/nodelim-groups.rs
@@ -1,7 +1,7 @@
-// run-pass
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
-// edition:2018
+//@ run-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
+//@ edition:2018
 //
 // Tests the pretty-printing behavior of inserting `Invisible`-delimited groups
 
diff --git a/tests/ui/proc-macro/non-root.rs b/tests/ui/proc-macro/non-root.rs
index a7c4ac00a44..da3cd83f0fd 100644
--- a/tests/ui/proc-macro/non-root.rs
+++ b/tests/ui/proc-macro/non-root.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/nonterminal-expansion.rs b/tests/ui/proc-macro/nonterminal-expansion.rs
index e6215587153..96ea4aef85b 100644
--- a/tests/ui/proc-macro/nonterminal-expansion.rs
+++ b/tests/ui/proc-macro/nonterminal-expansion.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug
-// aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/nonterminal-recollect-attr.rs b/tests/ui/proc-macro/nonterminal-recollect-attr.rs
index 79c4ad4cd2a..7d922bafdcd 100644
--- a/tests/ui/proc-macro/nonterminal-recollect-attr.rs
+++ b/tests/ui/proc-macro/nonterminal-recollect-attr.rs
@@ -1,6 +1,6 @@
-// check-pass
-// compile-flags: -Z span-debug
-// aux-build:nonterminal-recollect-attr.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
+//@ aux-build:nonterminal-recollect-attr.rs
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/nonterminal-token-hygiene.rs b/tests/ui/proc-macro/nonterminal-token-hygiene.rs
index 1e9e90a6b6f..d1e42509584 100644
--- a/tests/ui/proc-macro/nonterminal-token-hygiene.rs
+++ b/tests/ui/proc-macro/nonterminal-token-hygiene.rs
@@ -1,13 +1,13 @@
 // Make sure that marks from declarative macros are applied to tokens in nonterminal.
 
-// check-pass
-// compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene
-// compile-flags: -Z trim-diagnostic-paths=no
+//@ check-pass
+//@ compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene
+//@ compile-flags: -Z trim-diagnostic-paths=no
 // ignore-tidy-linelength
-// normalize-stdout-test "\d+#" -> "0#"
-// normalize-stdout-test "expn\d{3,}" -> "expnNNN"
-// normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
-// aux-build:test-macros.rs
+//@ normalize-stdout-test "\d+#" -> "0#"
+//@ normalize-stdout-test "expn\d{3,}" -> "expnNNN"
+//@ normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
+//@ aux-build:test-macros.rs
 
 #![feature(decl_macro)]
 #![no_std] // Don't load unnecessary hygiene information from std
diff --git a/tests/ui/proc-macro/nonterminal-token-hygiene.stdout b/tests/ui/proc-macro/nonterminal-token-hygiene.stdout
index cf9addb8a94..2078e59b8b4 100644
--- a/tests/ui/proc-macro/nonterminal-token-hygiene.stdout
+++ b/tests/ui/proc-macro/nonterminal-token-hygiene.stdout
@@ -24,14 +24,14 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
 #![no_std /* 0#0 */]
 // Make sure that marks from declarative macros are applied to tokens in nonterminal.
 
-// check-pass
-// compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene
-// compile-flags: -Z trim-diagnostic-paths=no
+//@ check-pass
+//@ compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene
+//@ compile-flags: -Z trim-diagnostic-paths=no
 // ignore-tidy-linelength
-// normalize-stdout-test "\d+#" -> "0#"
-// normalize-stdout-test "expn\d{3,}" -> "expnNNN"
-// normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
-// aux-build:test-macros.rs
+//@ normalize-stdout-test "\d+#" -> "0#"
+//@ normalize-stdout-test "expn\d{3,}" -> "expnNNN"
+//@ normalize-stdout-test "extern crate compiler_builtins /\* \d+ \*/" -> "extern crate compiler_builtins /* NNN */"
+//@ aux-build:test-macros.rs
 
 #![feature /* 0#0 */(decl_macro)]
 #![no_std /* 0#0 */]
diff --git a/tests/ui/proc-macro/not-joint.rs b/tests/ui/proc-macro/not-joint.rs
index 30da2811ed4..16b89bc6e81 100644
--- a/tests/ui/proc-macro/not-joint.rs
+++ b/tests/ui/proc-macro/not-joint.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:not-joint.rs
+//@ run-pass
+//@ aux-build:not-joint.rs
 
 extern crate not_joint as bar;
 use bar::{tokens, nothing};
diff --git a/tests/ui/proc-macro/out-of-line-mod.rs b/tests/ui/proc-macro/out-of-line-mod.rs
index 658ed6c18e0..2a4fb16a09a 100644
--- a/tests/ui/proc-macro/out-of-line-mod.rs
+++ b/tests/ui/proc-macro/out-of-line-mod.rs
@@ -1,7 +1,7 @@
 // Out-of-line module is found on the filesystem if passed through a proc macro (issue #58818).
 
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/outer/inner.rs b/tests/ui/proc-macro/outer/inner.rs
index a750083c607..210c05988bf 100644
--- a/tests/ui/proc-macro/outer/inner.rs
+++ b/tests/ui/proc-macro/outer/inner.rs
@@ -1 +1 @@
-// ignore-test (auxiliary, used by other tests)
+//@ ignore-test (auxiliary, used by other tests)
diff --git a/tests/ui/proc-macro/panic-abort.rs b/tests/ui/proc-macro/panic-abort.rs
index ad312a875e3..40d8aec5ef6 100644
--- a/tests/ui/proc-macro/panic-abort.rs
+++ b/tests/ui/proc-macro/panic-abort.rs
@@ -1,4 +1,4 @@
-// error-pattern: building proc macro crate with `panic=abort` may crash the compiler should the proc-macro panic
-// compile-flags: --crate-type proc-macro -Cpanic=abort
-// force-host
-// check-pass
+//@ error-pattern: building proc macro crate with `panic=abort` may crash the compiler should the proc-macro panic
+//@ compile-flags: --crate-type proc-macro -Cpanic=abort
+//@ force-host
+//@ check-pass
diff --git a/tests/ui/proc-macro/parent-source-spans.rs b/tests/ui/proc-macro/parent-source-spans.rs
index 354657db4db..12a1ab1a43d 100644
--- a/tests/ui/proc-macro/parent-source-spans.rs
+++ b/tests/ui/proc-macro/parent-source-spans.rs
@@ -1,4 +1,4 @@
-// aux-build:parent-source-spans.rs
+//@ aux-build:parent-source-spans.rs
 
 #![feature(decl_macro)]
 
diff --git a/tests/ui/proc-macro/pretty-print-hack-hide.rs b/tests/ui/proc-macro/pretty-print-hack-hide.rs
index f53e8fe8252..26db43341ab 100644
--- a/tests/ui/proc-macro/pretty-print-hack-hide.rs
+++ b/tests/ui/proc-macro/pretty-print-hack-hide.rs
@@ -1,6 +1,6 @@
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
-// check-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
+//@ check-pass
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/pretty-print-hack-show.rs b/tests/ui/proc-macro/pretty-print-hack-show.rs
index 24a389c450e..1b6794ae698 100644
--- a/tests/ui/proc-macro/pretty-print-hack-show.rs
+++ b/tests/ui/proc-macro/pretty-print-hack-show.rs
@@ -1,8 +1,8 @@
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
-// revisions: local remapped
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
+//@ revisions: local remapped
 // [local] no-remap-src-base: The hack should work regardless of remapping.
-// [remapped] remap-src-base
+//@ [remapped] remap-src-base
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/pretty-print-hack/allsorts-rental-0.5.6/src/lib.rs b/tests/ui/proc-macro/pretty-print-hack/allsorts-rental-0.5.6/src/lib.rs
index 889f399a7f2..f89098f3a5e 100644
--- a/tests/ui/proc-macro/pretty-print-hack/allsorts-rental-0.5.6/src/lib.rs
+++ b/tests/ui/proc-macro/pretty-print-hack/allsorts-rental-0.5.6/src/lib.rs
@@ -1,4 +1,4 @@
-// ignore-test (auxiliary, used by other tests)
+//@ ignore-test (auxiliary, used by other tests)
 
 #[derive(Print)]
 enum ProceduralMasqueradeDummyType {
diff --git a/tests/ui/proc-macro/pretty-print-hack/rental-0.5.5/src/lib.rs b/tests/ui/proc-macro/pretty-print-hack/rental-0.5.5/src/lib.rs
index 889f399a7f2..f89098f3a5e 100644
--- a/tests/ui/proc-macro/pretty-print-hack/rental-0.5.5/src/lib.rs
+++ b/tests/ui/proc-macro/pretty-print-hack/rental-0.5.5/src/lib.rs
@@ -1,4 +1,4 @@
-// ignore-test (auxiliary, used by other tests)
+//@ ignore-test (auxiliary, used by other tests)
 
 #[derive(Print)]
 enum ProceduralMasqueradeDummyType {
diff --git a/tests/ui/proc-macro/pretty-print-hack/rental-0.5.6/src/lib.rs b/tests/ui/proc-macro/pretty-print-hack/rental-0.5.6/src/lib.rs
index 889f399a7f2..f89098f3a5e 100644
--- a/tests/ui/proc-macro/pretty-print-hack/rental-0.5.6/src/lib.rs
+++ b/tests/ui/proc-macro/pretty-print-hack/rental-0.5.6/src/lib.rs
@@ -1,4 +1,4 @@
-// ignore-test (auxiliary, used by other tests)
+//@ ignore-test (auxiliary, used by other tests)
 
 #[derive(Print)]
 enum ProceduralMasqueradeDummyType {
diff --git a/tests/ui/proc-macro/pretty-print-tts.rs b/tests/ui/proc-macro/pretty-print-tts.rs
index ffe2a741551..e3240e27c2a 100644
--- a/tests/ui/proc-macro/pretty-print-tts.rs
+++ b/tests/ui/proc-macro/pretty-print-tts.rs
@@ -1,6 +1,6 @@
-// check-pass
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
+//@ check-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
 
 #![feature(rustc_attrs)]
 
diff --git a/tests/ui/proc-macro/proc-macro-abi.rs b/tests/ui/proc-macro/proc-macro-abi.rs
index 93a613e8b8f..188912bed92 100644
--- a/tests/ui/proc-macro/proc-macro-abi.rs
+++ b/tests/ui/proc-macro/proc-macro-abi.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![allow(warnings)]
diff --git a/tests/ui/proc-macro/proc-macro-attributes.rs b/tests/ui/proc-macro/proc-macro-attributes.rs
index 8d96381b9bd..6d5e7b67c78 100644
--- a/tests/ui/proc-macro/proc-macro-attributes.rs
+++ b/tests/ui/proc-macro/proc-macro-attributes.rs
@@ -1,4 +1,4 @@
-// aux-build:derive-b.rs
+//@ aux-build:derive-b.rs
 
 #[macro_use]
 extern crate derive_b;
diff --git a/tests/ui/proc-macro/proc-macro-deprecated-attr.rs b/tests/ui/proc-macro/proc-macro-deprecated-attr.rs
index f1144a4a55b..5e06a1c6cf8 100644
--- a/tests/ui/proc-macro/proc-macro-deprecated-attr.rs
+++ b/tests/ui/proc-macro/proc-macro-deprecated-attr.rs
@@ -1,6 +1,6 @@
-// check-pass
-// force-host
-// no-prefer-dynamic
+//@ check-pass
+//@ force-host
+//@ no-prefer-dynamic
 
 #![deny(deprecated)]
 
diff --git a/tests/ui/proc-macro/proc-macro-gates.rs b/tests/ui/proc-macro/proc-macro-gates.rs
index e2cf4e73987..585d9a3c9be 100644
--- a/tests/ui/proc-macro/proc-macro-gates.rs
+++ b/tests/ui/proc-macro/proc-macro-gates.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 // gate-test-proc_macro_hygiene
 
 #![feature(stmt_expr_attributes)]
diff --git a/tests/ui/proc-macro/proc-macro-gates2.rs b/tests/ui/proc-macro/proc-macro-gates2.rs
index 38fbd4733d5..76d8036d8a4 100644
--- a/tests/ui/proc-macro/proc-macro-gates2.rs
+++ b/tests/ui/proc-macro/proc-macro-gates2.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #![feature(stmt_expr_attributes)]
 
diff --git a/tests/ui/proc-macro/pub-at-crate-root.rs b/tests/ui/proc-macro/pub-at-crate-root.rs
index 54cf333a45b..32e4999a71b 100644
--- a/tests/ui/proc-macro/pub-at-crate-root.rs
+++ b/tests/ui/proc-macro/pub-at-crate-root.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/quote-debug.rs b/tests/ui/proc-macro/quote-debug.rs
index e0304a01405..f1593b505f9 100644
--- a/tests/ui/proc-macro/quote-debug.rs
+++ b/tests/ui/proc-macro/quote-debug.rs
@@ -1,7 +1,7 @@
-// check-pass
-// force-host
-// no-prefer-dynamic
-// compile-flags: -Z unpretty=expanded
+//@ check-pass
+//@ force-host
+//@ no-prefer-dynamic
+//@ compile-flags: -Z unpretty=expanded
 //
 // This file is not actually used as a proc-macro - instead,
 // it's just used to show the output of the `quote!` macro
diff --git a/tests/ui/proc-macro/quote-debug.stdout b/tests/ui/proc-macro/quote-debug.stdout
index 9f64a1e06b9..51f34423366 100644
--- a/tests/ui/proc-macro/quote-debug.stdout
+++ b/tests/ui/proc-macro/quote-debug.stdout
@@ -1,9 +1,9 @@
 #![feature(prelude_import)]
 #![no_std]
-// check-pass
-// force-host
-// no-prefer-dynamic
-// compile-flags: -Z unpretty=expanded
+//@ check-pass
+//@ force-host
+//@ no-prefer-dynamic
+//@ compile-flags: -Z unpretty=expanded
 //
 // This file is not actually used as a proc-macro - instead,
 // it's just used to show the output of the `quote!` macro
diff --git a/tests/ui/proc-macro/raw-ident.rs b/tests/ui/proc-macro/raw-ident.rs
index 03cb4571496..2ea2d3079dc 100644
--- a/tests/ui/proc-macro/raw-ident.rs
+++ b/tests/ui/proc-macro/raw-ident.rs
@@ -1,4 +1,4 @@
-// aux-build:raw-ident.rs
+//@ aux-build:raw-ident.rs
 
 #[macro_use] extern crate raw_ident;
 
diff --git a/tests/ui/proc-macro/reserved-macro-names.rs b/tests/ui/proc-macro/reserved-macro-names.rs
index c5e71a87dfb..0cbb0c06096 100644
--- a/tests/ui/proc-macro/reserved-macro-names.rs
+++ b/tests/ui/proc-macro/reserved-macro-names.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/resolve-error.rs b/tests/ui/proc-macro/resolve-error.rs
index ad8a5bbb0f9..2670d8884ae 100644
--- a/tests/ui/proc-macro/resolve-error.rs
+++ b/tests/ui/proc-macro/resolve-error.rs
@@ -1,6 +1,6 @@
-// aux-build:derive-foo.rs
-// aux-build:derive-clona.rs
-// aux-build:test-macros.rs
+//@ aux-build:derive-foo.rs
+//@ aux-build:derive-clona.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate derive_foo;
diff --git a/tests/ui/proc-macro/resolved-located-at.rs b/tests/ui/proc-macro/resolved-located-at.rs
index b785573f203..2f906d91e6b 100644
--- a/tests/ui/proc-macro/resolved-located-at.rs
+++ b/tests/ui/proc-macro/resolved-located-at.rs
@@ -1,4 +1,4 @@
-// aux-build:resolved-located-at.rs
+//@ aux-build:resolved-located-at.rs
 
 #[macro_use]
 extern crate resolved_located_at;
diff --git a/tests/ui/proc-macro/shadow.rs b/tests/ui/proc-macro/shadow.rs
index 61959594c79..22aecb7c05f 100644
--- a/tests/ui/proc-macro/shadow.rs
+++ b/tests/ui/proc-macro/shadow.rs
@@ -1,4 +1,4 @@
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/signature-proc-macro-attribute.rs b/tests/ui/proc-macro/signature-proc-macro-attribute.rs
index fb48f748ce0..e24e7c90d37 100644
--- a/tests/ui/proc-macro/signature-proc-macro-attribute.rs
+++ b/tests/ui/proc-macro/signature-proc-macro-attribute.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/signature-proc-macro-derive.rs b/tests/ui/proc-macro/signature-proc-macro-derive.rs
index d294b159127..4e3cb090cdc 100644
--- a/tests/ui/proc-macro/signature-proc-macro-derive.rs
+++ b/tests/ui/proc-macro/signature-proc-macro-derive.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/signature-proc-macro.rs b/tests/ui/proc-macro/signature-proc-macro.rs
index ca2509ed84b..0c9b3e6bde7 100644
--- a/tests/ui/proc-macro/signature-proc-macro.rs
+++ b/tests/ui/proc-macro/signature-proc-macro.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/signature.rs b/tests/ui/proc-macro/signature.rs
index 7b4982a6178..6e2e8561a83 100644
--- a/tests/ui/proc-macro/signature.rs
+++ b/tests/ui/proc-macro/signature.rs
@@ -1,5 +1,5 @@
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![allow(warnings)]
diff --git a/tests/ui/proc-macro/smoke.rs b/tests/ui/proc-macro/smoke.rs
index 04625559b91..dc32adb2e27 100644
--- a/tests/ui/proc-macro/smoke.rs
+++ b/tests/ui/proc-macro/smoke.rs
@@ -1,8 +1,8 @@
-// run-pass
+//@ run-pass
 
 #![allow(unused_must_use)]
 #![allow(path_statements)]
-// aux-build:derive-a.rs
+//@ aux-build:derive-a.rs
 
 #[macro_use]
 extern crate derive_a;
diff --git a/tests/ui/proc-macro/span-absolute-posititions.rs b/tests/ui/proc-macro/span-absolute-posititions.rs
index 6d70fe611c4..ddbc5902d6b 100644
--- a/tests/ui/proc-macro/span-absolute-posititions.rs
+++ b/tests/ui/proc-macro/span-absolute-posititions.rs
@@ -1,4 +1,4 @@
-// aux-build:assert-span-pos.rs
+//@ aux-build:assert-span-pos.rs
 // ignore-tidy-tab
 extern crate assert_span_pos;
 
diff --git a/tests/ui/proc-macro/span-api-tests.rs b/tests/ui/proc-macro/span-api-tests.rs
index 7493f9cdb3d..1e00f3ad7ac 100644
--- a/tests/ui/proc-macro/span-api-tests.rs
+++ b/tests/ui/proc-macro/span-api-tests.rs
@@ -1,7 +1,7 @@
-// run-pass
-// aux-build:span-api-tests.rs
-// aux-build:span-test-macros.rs
-// compile-flags: -Ztranslate-remapped-path-to-local-path=yes
+//@ run-pass
+//@ aux-build:span-api-tests.rs
+//@ aux-build:span-test-macros.rs
+//@ compile-flags: -Ztranslate-remapped-path-to-local-path=yes
 
 #[macro_use]
 extern crate span_test_macros;
diff --git a/tests/ui/proc-macro/span-from-proc-macro.rs b/tests/ui/proc-macro/span-from-proc-macro.rs
index ecff2d72587..9d851d62d12 100644
--- a/tests/ui/proc-macro/span-from-proc-macro.rs
+++ b/tests/ui/proc-macro/span-from-proc-macro.rs
@@ -1,6 +1,6 @@
-// aux-build:custom-quote.rs
-// aux-build:span-from-proc-macro.rs
-// compile-flags: -Z macro-backtrace
+//@ aux-build:custom-quote.rs
+//@ aux-build:span-from-proc-macro.rs
+//@ compile-flags: -Z macro-backtrace
 
 #[macro_use]
 extern crate span_from_proc_macro;
diff --git a/tests/ui/proc-macro/span-preservation.rs b/tests/ui/proc-macro/span-preservation.rs
index 0c735865558..25a44505c77 100644
--- a/tests/ui/proc-macro/span-preservation.rs
+++ b/tests/ui/proc-macro/span-preservation.rs
@@ -1,7 +1,7 @@
 // For each of these, we should get the appropriate type mismatch error message,
 // and the function should be echoed.
 
-// aux-build:test-macros.rs
+//@ aux-build:test-macros.rs
 
 #[macro_use]
 extern crate test_macros;
diff --git a/tests/ui/proc-macro/struct-field-macro.rs b/tests/ui/proc-macro/struct-field-macro.rs
index 460f4d9f726..b2c3dd49de9 100644
--- a/tests/ui/proc-macro/struct-field-macro.rs
+++ b/tests/ui/proc-macro/struct-field-macro.rs
@@ -1,7 +1,7 @@
-// run-pass
+//@ run-pass
 
 #![allow(dead_code)]
-// aux-build:derive-nothing.rs
+//@ aux-build:derive-nothing.rs
 
 #[macro_use]
 extern crate derive_nothing;
diff --git a/tests/ui/proc-macro/subspan.rs b/tests/ui/proc-macro/subspan.rs
index a4187f9e7c2..78804cba342 100644
--- a/tests/ui/proc-macro/subspan.rs
+++ b/tests/ui/proc-macro/subspan.rs
@@ -1,4 +1,4 @@
-// aux-build:subspan.rs
+//@ aux-build:subspan.rs
 
 extern crate subspan;
 
diff --git a/tests/ui/proc-macro/test-same-crate.rs b/tests/ui/proc-macro/test-same-crate.rs
index c13f384fa3a..3b3565c25b2 100644
--- a/tests/ui/proc-macro/test-same-crate.rs
+++ b/tests/ui/proc-macro/test-same-crate.rs
@@ -1,4 +1,4 @@
-// compile-flags: --test
+//@ compile-flags: --test
 #![crate_type = "proc-macro"]
 
 extern crate proc_macro;
diff --git a/tests/ui/proc-macro/test.rs b/tests/ui/proc-macro/test.rs
index 2ec62072020..9e76deab9ce 100644
--- a/tests/ui/proc-macro/test.rs
+++ b/tests/ui/proc-macro/test.rs
@@ -1,6 +1,6 @@
-// check-pass
-// aux-build:api/mod.rs
-// edition: 2021
+//@ check-pass
+//@ aux-build:api/mod.rs
+//@ edition: 2021
 
 //! This is for everything that *would* be a #[test] inside of libproc_macro,
 //! except for the fact that proc_macro objects are not capable of existing
diff --git a/tests/ui/proc-macro/three-equals.rs b/tests/ui/proc-macro/three-equals.rs
index 21b137c99a7..d16fc55656c 100644
--- a/tests/ui/proc-macro/three-equals.rs
+++ b/tests/ui/proc-macro/three-equals.rs
@@ -1,4 +1,4 @@
-// aux-build:three-equals.rs
+//@ aux-build:three-equals.rs
 
 extern crate three_equals;
 
diff --git a/tests/ui/proc-macro/trailing-plus.rs b/tests/ui/proc-macro/trailing-plus.rs
index 4f61de47d85..875225c15ca 100644
--- a/tests/ui/proc-macro/trailing-plus.rs
+++ b/tests/ui/proc-macro/trailing-plus.rs
@@ -1,6 +1,6 @@
-// check-pass
-// aux-build:test-macros.rs
-// compile-flags: -Z span-debug
+//@ check-pass
+//@ aux-build:test-macros.rs
+//@ compile-flags: -Z span-debug
 
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
diff --git a/tests/ui/proc-macro/trait-fn-args-2015.rs b/tests/ui/proc-macro/trait-fn-args-2015.rs
index 6b8df78a061..389bb5b6a92 100644
--- a/tests/ui/proc-macro/trait-fn-args-2015.rs
+++ b/tests/ui/proc-macro/trait-fn-args-2015.rs
@@ -1,7 +1,7 @@
 // Unnamed arguments in trait functions can be passed through proc macros on 2015 edition.
 
-// check-pass
-// aux-build:test-macros.rs
+//@ check-pass
+//@ aux-build:test-macros.rs
 
 #![allow(anonymous_parameters)]
 
diff --git a/tests/ui/proc-macro/two-crate-types-1.rs b/tests/ui/proc-macro/two-crate-types-1.rs
index 80bfd357f07..432b0a601b2 100644
--- a/tests/ui/proc-macro/two-crate-types-1.rs
+++ b/tests/ui/proc-macro/two-crate-types-1.rs
@@ -1,7 +1,7 @@
-// error-pattern: cannot mix `proc-macro` crate type with others
+//@ error-pattern: cannot mix `proc-macro` crate type with others
 
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 #![crate_type = "rlib"]
diff --git a/tests/ui/proc-macro/two-crate-types-2.rs b/tests/ui/proc-macro/two-crate-types-2.rs
index 39cbf7d3b72..491c5c71d76 100644
--- a/tests/ui/proc-macro/two-crate-types-2.rs
+++ b/tests/ui/proc-macro/two-crate-types-2.rs
@@ -1,3 +1,3 @@
-// error-pattern: cannot mix `proc-macro` crate type with others
-// compile-flags: --crate-type rlib --crate-type proc-macro
-// force-host
+//@ error-pattern: cannot mix `proc-macro` crate type with others
+//@ compile-flags: --crate-type rlib --crate-type proc-macro
+//@ force-host
diff --git a/tests/ui/proc-macro/unsafe-foreign-mod.rs b/tests/ui/proc-macro/unsafe-foreign-mod.rs
index 7bdfa93c21f..b863b0fc114 100644
--- a/tests/ui/proc-macro/unsafe-foreign-mod.rs
+++ b/tests/ui/proc-macro/unsafe-foreign-mod.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:macro-only-syntax.rs
+//@ run-pass
+//@ aux-build:macro-only-syntax.rs
 
 extern crate macro_only_syntax;
 
diff --git a/tests/ui/proc-macro/unsafe-mod.rs b/tests/ui/proc-macro/unsafe-mod.rs
index 8ff6e352c53..00ea388af93 100644
--- a/tests/ui/proc-macro/unsafe-mod.rs
+++ b/tests/ui/proc-macro/unsafe-mod.rs
@@ -1,5 +1,5 @@
-// run-pass
-// aux-build:macro-only-syntax.rs
+//@ run-pass
+//@ aux-build:macro-only-syntax.rs
 
 #![feature(proc_macro_hygiene)]
 
diff --git a/tests/ui/proc-macro/visibility-path.rs b/tests/ui/proc-macro/visibility-path.rs
index a73430db2c1..7b8579890b8 100644
--- a/tests/ui/proc-macro/visibility-path.rs
+++ b/tests/ui/proc-macro/visibility-path.rs
@@ -1,7 +1,7 @@
 // Proc macro defined with `pub(path)` doesn't ICEs due to resolving the `path` (issue #68921).
 
-// force-host
-// no-prefer-dynamic
+//@ force-host
+//@ no-prefer-dynamic
 
 #![crate_type = "proc-macro"]
 
diff --git a/tests/ui/proc-macro/weird-braces.rs b/tests/ui/proc-macro/weird-braces.rs
index b9a7e08f993..b17b90742b5 100644
--- a/tests/ui/proc-macro/weird-braces.rs
+++ b/tests/ui/proc-macro/weird-braces.rs
@@ -1,6 +1,6 @@
-// aux-build:test-macros.rs
-// check-pass
-// compile-flags: -Z span-debug
+//@ aux-build:test-macros.rs
+//@ check-pass
+//@ compile-flags: -Z span-debug
 
 #![feature(custom_inner_attributes)]
 
diff --git a/tests/ui/proc-macro/weird-hygiene.rs b/tests/ui/proc-macro/weird-hygiene.rs
index 7ba3f98a7a9..8b35898a4d2 100644
--- a/tests/ui/proc-macro/weird-hygiene.rs
+++ b/tests/ui/proc-macro/weird-hygiene.rs
@@ -1,4 +1,4 @@
-// aux-build:weird-hygiene.rs
+//@ aux-build:weird-hygiene.rs
 
 #![feature(stmt_expr_attributes)]
 #![feature(proc_macro_hygiene)]