]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_target/src/spec/msvc_base.rs
New upstream version 1.65.0+dfsg1
[rustc.git] / compiler / rustc_target / src / spec / msvc_base.rs
CommitLineData
f2b60f7d
FG
1use crate::spec::{DebuginfoKind, LinkerFlavor, LldFlavor, SplitDebuginfo, TargetOptions};
2use std::borrow::Cow;
ba9703b0
XL
3
4pub fn opts() -> TargetOptions {
064997fb
FG
5 // Suppress the verbose logo and authorship debugging output, which would needlessly
6 // clog any log files.
7 let pre_link_args = TargetOptions::link_args(LinkerFlavor::Msvc, &["/NOLOGO"]);
ba9703b0
XL
8
9 TargetOptions {
29967ef6 10 linker_flavor: LinkerFlavor::Msvc,
ba9703b0
XL
11 is_like_windows: true,
12 is_like_msvc: true,
ba9703b0 13 lld_flavor: LldFlavor::Link,
17df50a5 14 linker_is_gnu: false,
ba9703b0
XL
15 pre_link_args,
16 abi_return_struct_as_int: true,
17 emit_debug_gdb_scripts: false,
18
5869c6ff
XL
19 // Currently this is the only supported method of debuginfo on MSVC
20 // where `*.pdb` files show up next to the final artifact.
21 split_debuginfo: SplitDebuginfo::Packed,
f2b60f7d
FG
22 supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Packed]),
23 debuginfo_kind: DebuginfoKind::Pdb,
5869c6ff 24
ba9703b0
XL
25 ..Default::default()
26 }
27}