about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_codegen_ssa/back/symbol_export.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc_codegen_ssa/back/symbol_export.rs b/src/librustc_codegen_ssa/back/symbol_export.rs
index edd0fa50427..9cf0f0a801e 100644
--- a/src/librustc_codegen_ssa/back/symbol_export.rs
+++ b/src/librustc_codegen_ssa/back/symbol_export.rs
@@ -349,7 +349,12 @@ fn symbol_export_level(tcx: TyCtxt<'_>, sym_def_id: DefId) -> SymbolExportLevel
             if let Some(Node::Item(&hir::Item { kind: hir::ItemKind::Static(..), .. })) =
                 tcx.hir().get_if_local(sym_def_id)
             {
-                return SymbolExportLevel::Rust;
+                let export_level = if tcx.type_of(sym_def_id).is_scalar() {
+                    SymbolExportLevel::C
+                } else {
+                    SymbolExportLevel::Rust
+                };
+                return export_level;
             }
         }