1 |
commit ab998a2eeb2bcdc69ce70c814af97f0d1302a404 (from d17f62d857c70508efbf60be41135880bcd2e062) |
2 |
Merge: d17f62d857c7 9452a8dfa3ba |
3 |
Author: Mazdak Farrokhzad <twingoow@gmail.com> |
4 |
Date: Thu Jan 24 00:20:00 2019 +0100 |
5 |
|
6 |
Rollup merge of #57840 - tromey:fix-issue-57762, r=nikic |
7 |
|
8 |
Fix issue 57762 |
9 |
|
10 |
against a stock LLVM 7. LLVM 7 was released without a necessary fix |
11 |
for a bug in the DWARF discriminant code. |
12 |
|
13 |
This patch changes rustc to use the fallback mode on (non-Rust) LLVM 7. |
14 |
|
15 |
Closes #57762 |
16 |
|
17 |
diff --git a/src/librustc_codegen_llvm/debuginfo/metadata.rs b/src/librustc_codegen_llvm/debuginfo/metadata.rs |
18 |
index 6deedd0b5ea3..9f63038c3623 100644 |
19 |
--- a/src/librustc_codegen_llvm/debuginfo/metadata.rs |
20 |
+++ b/src/librustc_codegen_llvm/debuginfo/metadata.rs |
21 |
@@ -1164,7 +1164,10 @@ fn use_enum_fallback(cx: &CodegenCx) -> bool { |
22 |
// On MSVC we have to use the fallback mode, because LLVM doesn't |
23 |
// lower variant parts to PDB. |
24 |
return cx.sess().target.target.options.is_like_msvc |
25 |
- || llvm_util::get_major_version() < 7; |
26 |
+ // LLVM version 7 did not release with an important bug fix; |
27 |
+ // but the required patch is in the LLVM 8. Rust LLVM reports |
28 |
+ // 8 as well. |
29 |
+ || llvm_util::get_major_version() < 8; |
30 |
} |
31 |
|
32 |
// Describes the members of an enum value: An enum is described as a union of |