rust: Emit -x c++ for bindgen modules with cpp_std
rust_bindgen modules which defined cpp_std with a .h file were not correctly emitting the `-x c++` flag. This CL addresses that, and ensures that if either cpp_std or c_std is set then the appropriate behavior occurs no matter the file extension. Bug: 304269101 Test: Soong tests Change-Id: I71a8ae30ac0ed502d9d3fbf2f3039b0c56529d39
This commit is contained in:
@@ -115,7 +115,7 @@ func TestRustBindgenStdVersions(t *testing.T) {
|
||||
ctx := testRust(t, `
|
||||
rust_bindgen {
|
||||
name: "libbindgen_cstd",
|
||||
wrapper_src: "src/any.h",
|
||||
wrapper_src: "src/any.hpp",
|
||||
crate_name: "bindgen",
|
||||
stem: "libbindgen",
|
||||
source_stem: "bindings",
|
||||
@@ -141,6 +141,16 @@ func TestRustBindgenStdVersions(t *testing.T) {
|
||||
if !strings.Contains(libbindgen_cppstd.Args["cflags"], "-std=foo") {
|
||||
t.Errorf("cpp_std value not passed in to rust_bindgen as a clang flag")
|
||||
}
|
||||
|
||||
// Make sure specifying cpp_std emits the '-x c++' flag
|
||||
if !strings.Contains(libbindgen_cppstd.Args["cflags"], "-x c++") {
|
||||
t.Errorf("Setting cpp_std should cause the '-x c++' flag to be emitted")
|
||||
}
|
||||
|
||||
// Make sure specifying c_std omits the '-x c++' flag
|
||||
if strings.Contains(libbindgen_cstd.Args["cflags"], "-x c++") {
|
||||
t.Errorf("Setting c_std should not cause the '-x c++' flag to be emitted")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBindgenDisallowedFlags(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user