Skip to content

Commit f53c389

Browse files
omarzlcopybara-github
authored andcommitted
LLVM BC support
Using [rules_swift](https://github.com/bazelbuild/rules_swift) it is possible to generate LLVM IR BC files using `swift.emit_bc` feature, some days ago a [refactor](bazelbuild/rules_swift@8cf3635#diff-535d0dbea9614c6905a30dfdb0e708df3b16fc68f8930d6aba519342509dc657R1948) to use `create_compilation_outputs` from `cc_common` was merged, it is giving us the following error since the bc extension is missing, this pr fixes it ``` Error in create_compilation_outputs: 'Somefile.swift.bc' has wrong extension. The list of possible extensions for 'objects' is: .o,.obj,.pic.o,.opb ``` Closes #13889. PiperOrigin-RevId: 392889724
1 parent 2f2a437 commit f53c389

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public final class CppFileTypes {
3434
public static final FileType OBJCPP_SOURCE = FileType.of(".mm");
3535
public static final FileType CLIF_INPUT_PROTO = FileType.of(".ipb");
3636
public static final FileType CLIF_OUTPUT_PROTO = FileType.of(".opb");
37+
public static final FileType BC_SOURCE = FileType.of(".bc");
3738

3839
public static final FileTypeSet ALL_C_CLASS_SOURCE =
3940
FileTypeSet.of(

src/main/java/com/google/devtools/build/lib/rules/cpp/Link.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ private Link() {} // uninstantiable
6464
/** The set of object files */
6565
public static final FileTypeSet OBJECT_FILETYPES =
6666
FileTypeSet.of(
67-
CppFileTypes.OBJECT_FILE, CppFileTypes.PIC_OBJECT_FILE, CppFileTypes.CLIF_OUTPUT_PROTO);
67+
CppFileTypes.OBJECT_FILE,
68+
CppFileTypes.PIC_OBJECT_FILE,
69+
CppFileTypes.CLIF_OUTPUT_PROTO,
70+
CppFileTypes.BC_SOURCE);
6871

6972
/**
7073
* Whether a particular link target requires PIC code.

0 commit comments

Comments
 (0)