@@ -240,237 +240,40 @@ def concat_multi_lines(f):
240
240
print_err (lineno , line , 'Trailing backslash at the end of the file' )
241
241
242
242
243
+ def get_known_directive_names ():
244
+ def filter_line (line ):
245
+ line = line .strip ()
246
+ return line .startswith ('"' ) and (line .endswith ('",' ) or line .endswith ('"' ))
247
+
248
+ # Equivalent to `src/tools/compiletest/src/header.rs` constant of the same name.
249
+ with open (
250
+ os .path .join (
251
+ # We go back to `src`.
252
+ os .path .dirname (os .path .dirname (__file__ )),
253
+ "tools/compiletest/src/command-list.rs" ,
254
+ ),
255
+ "r" ,
256
+ encoding = "utf8"
257
+ ) as fd :
258
+ content = fd .read ()
259
+ return [
260
+ line .strip ().replace ('",' , '' ).replace ('"' , '' )
261
+ for line in content .split ('\n ' )
262
+ if filter_line (line )
263
+ ]
264
+
265
+
266
+ # To prevent duplicating the list of commmands between `compiletest` and `htmldocck`, we put
267
+ # it into a common file which is included in rust code and parsed here.
268
+ # FIXME: This setup is temporary until we figure out how to improve this situation.
269
+ KNOWN_DIRECTIVE_NAMES = get_known_directive_names ()
270
+
243
271
LINE_PATTERN = re .compile (r'''
244
272
//@\s+
245
273
(?P<negated>!?)(?P<cmd>[A-Za-z]+(?:-[A-Za-z]+)*)
246
274
(?P<args>.*)$
247
275
''' , re .X | re .UNICODE )
248
276
249
- # Equivalent to `src/tools/compiletest/src/header.rs` constant of the same name.
250
- KNOWN_DIRECTIVE_NAMES = [
251
- # tidy-alphabetical-start
252
- "assembly-output" ,
253
- "aux-bin" ,
254
- "aux-build" ,
255
- "aux-codegen-backend" ,
256
- "aux-crate" ,
257
- "build-aux-docs" ,
258
- "build-fail" ,
259
- "build-pass" ,
260
- "check-fail" ,
261
- "check-pass" ,
262
- "check-run-results" ,
263
- "check-stdout" ,
264
- "check-test-line-numbers-match" ,
265
- "compare-output-lines-by-subset" ,
266
- "compile-flags" ,
267
- "dont-check-compiler-stderr" ,
268
- "dont-check-compiler-stdout" ,
269
- "dont-check-failure-status" ,
270
- "edition" ,
271
- "error-pattern" ,
272
- "exec-env" ,
273
- "failure-status" ,
274
- "filecheck-flags" ,
275
- "forbid-output" ,
276
- "force-host" ,
277
- "ignore-16bit" ,
278
- "ignore-32bit" ,
279
- "ignore-64bit" ,
280
- "ignore-aarch64" ,
281
- "ignore-aarch64-unknown-linux-gnu" ,
282
- "ignore-android" ,
283
- "ignore-apple" ,
284
- "ignore-arm" ,
285
- "ignore-avr" ,
286
- "ignore-beta" ,
287
- "ignore-cdb" ,
288
- "ignore-compare-mode-next-solver" ,
289
- "ignore-compare-mode-polonius" ,
290
- "ignore-cross-compile" ,
291
- "ignore-debug" ,
292
- "ignore-eabi" ,
293
- "ignore-emscripten" ,
294
- "ignore-endian-big" ,
295
- "ignore-freebsd" ,
296
- "ignore-fuchsia" ,
297
- "ignore-gdb" ,
298
- "ignore-gdb-version" ,
299
- "ignore-gnu" ,
300
- "ignore-haiku" ,
301
- "ignore-horizon" ,
302
- "ignore-i686-pc-windows-msvc" ,
303
- "ignore-ios" ,
304
- "ignore-linux" ,
305
- "ignore-lldb" ,
306
- "ignore-llvm-version" ,
307
- "ignore-loongarch64" ,
308
- "ignore-macabi" ,
309
- "ignore-macos" ,
310
- "ignore-mode-assembly" ,
311
- "ignore-mode-codegen" ,
312
- "ignore-mode-codegen-units" ,
313
- "ignore-mode-coverage-map" ,
314
- "ignore-mode-coverage-run" ,
315
- "ignore-mode-crashes" ,
316
- "ignore-mode-debuginfo" ,
317
- "ignore-mode-incremental" ,
318
- "ignore-mode-js-doc-test" ,
319
- "ignore-mode-mir-opt" ,
320
- "ignore-mode-pretty" ,
321
- "ignore-mode-run-make" ,
322
- "ignore-mode-run-pass-valgrind" ,
323
- "ignore-mode-rustdoc" ,
324
- "ignore-mode-rustdoc-json" ,
325
- "ignore-mode-ui" ,
326
- "ignore-mode-ui-fulldeps" ,
327
- "ignore-msp430" ,
328
- "ignore-msvc" ,
329
- "ignore-musl" ,
330
- "ignore-netbsd" ,
331
- "ignore-nightly" ,
332
- "ignore-none" ,
333
- "ignore-nto" ,
334
- "ignore-nvptx64" ,
335
- "ignore-nvptx64-nvidia-cuda" ,
336
- "ignore-openbsd" ,
337
- "ignore-pass" ,
338
- "ignore-remote" ,
339
- "ignore-riscv64" ,
340
- "ignore-s390x" ,
341
- "ignore-sgx" ,
342
- "ignore-spirv" ,
343
- "ignore-stable" ,
344
- "ignore-stage1" ,
345
- "ignore-stage2" ,
346
- "ignore-test" ,
347
- "ignore-thumb" ,
348
- "ignore-thumbv8m.base-none-eabi" ,
349
- "ignore-thumbv8m.main-none-eabi" ,
350
- "ignore-tvos" ,
351
- "ignore-unix" ,
352
- "ignore-unknown" ,
353
- "ignore-uwp" ,
354
- "ignore-visionos" ,
355
- "ignore-vxworks" ,
356
- "ignore-wasi" ,
357
- "ignore-wasm" ,
358
- "ignore-wasm32" ,
359
- "ignore-wasm32-bare" ,
360
- "ignore-wasm64" ,
361
- "ignore-watchos" ,
362
- "ignore-windows" ,
363
- "ignore-windows-gnu" ,
364
- "ignore-x32" ,
365
- "ignore-x86" ,
366
- "ignore-x86_64" ,
367
- "ignore-x86_64-unknown-linux-gnu" ,
368
- "incremental" ,
369
- "known-bug" ,
370
- "llvm-cov-flags" ,
371
- "min-cdb-version" ,
372
- "min-gdb-version" ,
373
- "min-lldb-version" ,
374
- "min-llvm-version" ,
375
- "min-system-llvm-version" ,
376
- "needs-asm-support" ,
377
- "needs-dlltool" ,
378
- "needs-dynamic-linking" ,
379
- "needs-force-clang-based-tests" ,
380
- "needs-git-hash" ,
381
- "needs-llvm-components" ,
382
- "needs-profiler-support" ,
383
- "needs-relocation-model-pic" ,
384
- "needs-run-enabled" ,
385
- "needs-rust-lld" ,
386
- "needs-rust-lldb" ,
387
- "needs-sanitizer-address" ,
388
- "needs-sanitizer-cfi" ,
389
- "needs-sanitizer-dataflow" ,
390
- "needs-sanitizer-hwaddress" ,
391
- "needs-sanitizer-kcfi" ,
392
- "needs-sanitizer-leak" ,
393
- "needs-sanitizer-memory" ,
394
- "needs-sanitizer-memtag" ,
395
- "needs-sanitizer-safestack" ,
396
- "needs-sanitizer-shadow-call-stack" ,
397
- "needs-sanitizer-support" ,
398
- "needs-sanitizer-thread" ,
399
- "needs-threads" ,
400
- "needs-unwind" ,
401
- "needs-wasmtime" ,
402
- "needs-xray" ,
403
- "no-auto-check-cfg" ,
404
- "no-prefer-dynamic" ,
405
- "normalize-stderr-32bit" ,
406
- "normalize-stderr-64bit" ,
407
- "normalize-stderr-test" ,
408
- "normalize-stdout-test" ,
409
- "only-16bit" ,
410
- "only-32bit" ,
411
- "only-64bit" ,
412
- "only-aarch64" ,
413
- "only-apple" ,
414
- "only-arm" ,
415
- "only-avr" ,
416
- "only-beta" ,
417
- "only-bpf" ,
418
- "only-cdb" ,
419
- "only-gnu" ,
420
- "only-i686-pc-windows-msvc" ,
421
- "only-ios" ,
422
- "only-linux" ,
423
- "only-loongarch64" ,
424
- "only-loongarch64-unknown-linux-gnu" ,
425
- "only-macos" ,
426
- "only-mips" ,
427
- "only-mips64" ,
428
- "only-msp430" ,
429
- "only-msvc" ,
430
- "only-nightly" ,
431
- "only-nvptx64" ,
432
- "only-riscv64" ,
433
- "only-sparc" ,
434
- "only-sparc64" ,
435
- "only-stable" ,
436
- "only-thumb" ,
437
- "only-tvos" ,
438
- "only-unix" ,
439
- "only-visionos" ,
440
- "only-wasm32" ,
441
- "only-wasm32-bare" ,
442
- "only-wasm32-wasip1" ,
443
- "only-watchos" ,
444
- "only-windows" ,
445
- "only-x86" ,
446
- "only-x86_64" ,
447
- "only-x86_64-fortanix-unknown-sgx" ,
448
- "only-x86_64-pc-windows-gnu" ,
449
- "only-x86_64-pc-windows-msvc" ,
450
- "only-x86_64-unknown-linux-gnu" ,
451
- "pp-exact" ,
452
- "pretty-compare-only" ,
453
- "pretty-expanded" ,
454
- "pretty-mode" ,
455
- "regex-error-pattern" ,
456
- "remap-src-base" ,
457
- "revisions" ,
458
- "run-fail" ,
459
- "run-flags" ,
460
- "run-pass" ,
461
- "run-rustfix" ,
462
- "rustc-env" ,
463
- "rustfix-only-machine-applicable" ,
464
- "should-fail" ,
465
- "should-ice" ,
466
- "stderr-per-bitwidth" ,
467
- "test-mir-pass" ,
468
- "unset-exec-env" ,
469
- "unset-rustc-env" ,
470
- # Used by the tidy check `unknown_revision`.
471
- "unused-revision-names" ,
472
- # tidy-alphabetical-end
473
- ]
474
277
475
278
def get_commands (template ):
476
279
with io .open (template , encoding = 'utf-8' ) as f :
0 commit comments