@@ -649,12 +649,14 @@ const Stage2TargetDetails = struct {
649
649
try builtin_str_buffer .append (cpu .name );
650
650
try builtin_str_buffer .append ("};" );
651
651
652
+ const cpu_string = cpu .llvm_name orelse "" ;
653
+
652
654
return Self {
653
655
.allocator = allocator ,
654
656
.target_details = .{
655
657
.cpu = cpu ,
656
658
},
657
- .llvm_cpu_str = try toNullTerminatedStringAlloc (allocator , cpu . llvm_name ),
659
+ .llvm_cpu_str = try toNullTerminatedStringAlloc (allocator , cpu_string ),
658
660
.llvm_features_str = null_terminated_empty_string ,
659
661
.builtin_str = builtin_str_buffer .toSliceConst (),
660
662
};
@@ -670,21 +672,25 @@ const Stage2TargetDetails = struct {
670
672
// First, disable all features.
671
673
// This way, we only get the ones the user requests.
672
674
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 ("," );
675
+ if (feature .llvm_name ) | llvm_name | {
676
+ try llvm_features_buffer .append ("-" );
677
+ try llvm_features_buffer .append (llvm_name );
678
+ try llvm_features_buffer .append ("," );
679
+ }
676
680
}
677
681
678
682
for (features ) | feature | {
679
- try llvm_features_buffer .append ("+" );
680
- try llvm_features_buffer .append (feature .llvm_name );
681
- try llvm_features_buffer .append ("," );
682
-
683
- try builtin_str_buffer .append ("&@import(\" std\" ).target." );
684
- try builtin_str_buffer .append (@tagName (arch ));
685
- try builtin_str_buffer .append (".feature_" );
686
- try builtin_str_buffer .append (feature .name );
687
- try builtin_str_buffer .append ("," );
683
+ if (feature .llvm_name ) | llvm_name | {
684
+ try llvm_features_buffer .append ("+" );
685
+ try llvm_features_buffer .append (llvm_name );
686
+ try llvm_features_buffer .append ("," );
687
+
688
+ try builtin_str_buffer .append ("&@import(\" std\" ).target." );
689
+ try builtin_str_buffer .append (@tagName (arch ));
690
+ try builtin_str_buffer .append (".feature_" );
691
+ try builtin_str_buffer .append (feature .name );
692
+ try builtin_str_buffer .append ("," );
693
+ }
688
694
}
689
695
690
696
try builtin_str_buffer .append ("}};" );
0 commit comments