| 483 | |
| 484 | #[test] |
| 485 | fn display_default() { |
| 486 | let b = builder(); |
| 487 | let f = Flags::new(b); |
| 488 | let actual = f.to_string(); |
| 489 | let expected = r#"[shared] |
| 490 | regalloc_algorithm = "backtracking" |
| 491 | opt_level = "none" |
| 492 | tls_model = "none" |
| 493 | stack_switch_model = "none" |
| 494 | libcall_call_conv = "isa_default" |
| 495 | probestack_size_log2 = 12 |
| 496 | probestack_strategy = "outline" |
| 497 | bb_padding_log2_minus_one = 0 |
| 498 | log2_min_function_alignment = 0 |
| 499 | regalloc_checker = false |
| 500 | regalloc_verbose_logs = false |
| 501 | enable_alias_analysis = true |
| 502 | enable_verifier = true |
| 503 | is_pic = false |
| 504 | use_colocated_libcalls = false |
| 505 | enable_nan_canonicalization = false |
| 506 | enable_pinned_reg = false |
| 507 | enable_llvm_abi_extensions = false |
| 508 | enable_multi_ret_implicit_sret = false |
| 509 | unwind_info = true |
| 510 | preserve_frame_pointers = false |
| 511 | machine_code_cfg_info = false |
| 512 | enable_probestack = false |
| 513 | enable_heap_access_spectre_mitigation = true |
| 514 | enable_table_access_spectre_mitigation = true |
| 515 | enable_incremental_compilation_cache_checks = false |
| 516 | enable_compact_unwind_abi = false |
| 517 | "#; |
| 518 | if actual != expected { |
| 519 | panic!( |
| 520 | "Default settings do not match expectations:\n\n{}", |
| 521 | similar::TextDiff::from_lines(expected, &actual) |
| 522 | .unified_diff() |
| 523 | .header("expected", "actual") |
| 524 | ); |
| 525 | } |
| 526 | assert_eq!(f.opt_level(), super::OptLevel::None); |
| 527 | } |
| 528 | |
| 529 | #[test] |
| 530 | fn modify_bool() { |