diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-08-23 11:03:22 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-08-28 13:32:11 -0700 |
| commit | 1fd45a13dee17701fc0aeaa847c1919d485d09fd (patch) | |
| tree | 8ca2cb2677b213994b44f037798db56d0c867d15 /src/librustc_codegen_llvm/attributes.rs | |
| parent | 7061b2775782bb48c0a70d3c79ec711134396687 (diff) | |
| download | rust-1fd45a13dee17701fc0aeaa847c1919d485d09fd.tar.gz rust-1fd45a13dee17701fc0aeaa847c1919d485d09fd.zip | |
Fix warnings about the `native` target-cpu
This fixes a regression from #53031 where specifying `-C target-cpu=native` is printing a lot of warnings from LLVM about `native` being an unknown CPU. It turns out that `native` is indeed an unknown CPU and we have to perform a mapping to an actual CPU name, but this mapping is only performed in one location rather than all locations we inform LLVM about the target CPU. This commit centralizes the mapping of `native` to LLVM's value of the native CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's never `native`. Closes #53322
Diffstat (limited to 'src/librustc_codegen_llvm/attributes.rs')
| -rw-r--r-- | src/librustc_codegen_llvm/attributes.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/librustc_codegen_llvm/attributes.rs b/src/librustc_codegen_llvm/attributes.rs index 2b64642b766..c8a2b47e98d 100644 --- a/src/librustc_codegen_llvm/attributes.rs +++ b/src/librustc_codegen_llvm/attributes.rs @@ -124,7 +124,8 @@ pub fn llvm_target_features(sess: &Session) -> impl Iterator<Item = &str> { } pub fn apply_target_cpu_attr(cx: &CodegenCx<'ll, '_>, llfn: &'ll Value) { - let target_cpu = CString::new(cx.tcx.sess.target_cpu().to_string()).unwrap(); + let cpu = llvm_util::target_cpu(cx.tcx.sess); + let target_cpu = CString::new(cpu).unwrap(); llvm::AddFunctionAttrStringValue( llfn, llvm::AttributePlace::Function, |
