| ... | @@ -667,6 +667,14 @@ const Stage2TargetDetails = struct { | ... | @@ -667,6 +667,14 @@ const Stage2TargetDetails = struct { |
| 667 | var llvm_features_buffer = try std.Buffer.initSize(allocator, 0); | 667 | var llvm_features_buffer = try std.Buffer.initSize(allocator, 0); |
| 668 | defer llvm_features_buffer.deinit(); | 668 | defer llvm_features_buffer.deinit(); |
| 669 | | 669 | |
| | 670 | // First, disable all features. |
| | 671 | // This way, we only get the ones the user requests. |
| | 672 | for (std.target.getFeaturesForArch(arch)) |feature| { |
| | 673 | try llvm_features_buffer.append("-"); |
| | 674 | try llvm_features_buffer.append(feature.llvm_name); |
| | 675 | try llvm_features_buffer.append(","); |
| | 676 | } |
| | 677 | |
| 670 | for (features) |feature| { | 678 | for (features) |feature| { |
| 671 | try llvm_features_buffer.append("+"); | 679 | try llvm_features_buffer.append("+"); |
| 672 | try llvm_features_buffer.append(feature.llvm_name); | 680 | try llvm_features_buffer.append(feature.llvm_name); |