about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/back/write.rs
diff options
context:
space:
mode:
authorUrgau <urgau@numericable.fr>2023-08-23 15:46:58 +0200
committerUrgau <urgau@numericable.fr>2023-10-17 10:11:30 +0200
commiteccc9e66287d5fd141e458ae3ab25ac96a567972 (patch)
tree3a25d640e092a65712b8d42c1ce2a8f8cdf959f5 /compiler/rustc_codegen_llvm/src/back/write.rs
parent30f94717ca69f799873698e147ac03ffc0a6fa56 (diff)
downloadrust-eccc9e66287d5fd141e458ae3ab25ac96a567972.tar.gz
rust-eccc9e66287d5fd141e458ae3ab25ac96a567972.zip
[RFC 3127 - Trim Paths]: Condition remapped filepath on remap scopes
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/back/write.rs')
-rw-r--r--compiler/rustc_codegen_llvm/src/back/write.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/back/write.rs b/compiler/rustc_codegen_llvm/src/back/write.rs
index c778a6e017f..9d5204034de 100644
--- a/compiler/rustc_codegen_llvm/src/back/write.rs
+++ b/compiler/rustc_codegen_llvm/src/back/write.rs
@@ -259,9 +259,17 @@ pub fn target_machine_factory(
     };
     let debuginfo_compression = SmallCStr::new(&debuginfo_compression);
 
+    let should_prefer_remapped_for_split_debuginfo_paths =
+        sess.should_prefer_remapped_for_split_debuginfo_paths();
+
     Arc::new(move |config: TargetMachineFactoryConfig| {
         let path_to_cstring_helper = |path: Option<PathBuf>| -> CString {
-            let path = path_mapping.map_prefix(path.unwrap_or_default()).0;
+            let path = path.unwrap_or_default();
+            let path = if should_prefer_remapped_for_split_debuginfo_paths {
+                path_mapping.map_prefix(path).0
+            } else {
+                path.into()
+            };
             CString::new(path.to_str().unwrap()).unwrap()
         };