Use the platform -std= for sdk_version.
am: 5789ca9f28
Change-Id: I0b7130226d62f7d1d9c2c5eb6bddecf546323094
This commit is contained in:
commit
6dc655202b
2 changed files with 35 additions and 39 deletions
|
@ -397,45 +397,42 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
|
|||
flags.GlobalFlags = append(flags.GlobalFlags, tc.ToolchainCflags())
|
||||
}
|
||||
|
||||
if !ctx.useSdk() {
|
||||
cStd := config.CStdVersion
|
||||
if String(compiler.Properties.C_std) == "experimental" {
|
||||
cStd = config.ExperimentalCStdVersion
|
||||
} else if String(compiler.Properties.C_std) != "" {
|
||||
cStd = String(compiler.Properties.C_std)
|
||||
}
|
||||
|
||||
cppStd := String(compiler.Properties.Cpp_std)
|
||||
switch String(compiler.Properties.Cpp_std) {
|
||||
case "":
|
||||
cppStd = config.CppStdVersion
|
||||
case "experimental":
|
||||
cppStd = config.ExperimentalCppStdVersion
|
||||
case "c++17", "gnu++17":
|
||||
// Map c++17 and gnu++17 to their 1z equivalents, until 17 is finalized.
|
||||
cppStd = strings.Replace(String(compiler.Properties.Cpp_std), "17", "1z", 1)
|
||||
}
|
||||
|
||||
if !flags.Clang {
|
||||
// GCC uses an invalid C++14 ABI (emits calls to
|
||||
// __cxa_throw_bad_array_length, which is not a valid C++ RT ABI).
|
||||
// http://b/25022512
|
||||
cppStd = config.GccCppStdVersion
|
||||
} else if ctx.Host() && !flags.Clang {
|
||||
// The host GCC doesn't support C++14 (and is deprecated, so likely
|
||||
// never will). Build these modules with C++11.
|
||||
cppStd = config.GccCppStdVersion
|
||||
}
|
||||
|
||||
if compiler.Properties.Gnu_extensions != nil && *compiler.Properties.Gnu_extensions == false {
|
||||
cStd = gnuToCReplacer.Replace(cStd)
|
||||
cppStd = gnuToCReplacer.Replace(cppStd)
|
||||
}
|
||||
|
||||
flags.ConlyFlags = append([]string{"-std=" + cStd}, flags.ConlyFlags...)
|
||||
flags.CppFlags = append([]string{"-std=" + cppStd}, flags.CppFlags...)
|
||||
cStd := config.CStdVersion
|
||||
if String(compiler.Properties.C_std) == "experimental" {
|
||||
cStd = config.ExperimentalCStdVersion
|
||||
} else if String(compiler.Properties.C_std) != "" {
|
||||
cStd = String(compiler.Properties.C_std)
|
||||
}
|
||||
|
||||
cppStd := String(compiler.Properties.Cpp_std)
|
||||
switch String(compiler.Properties.Cpp_std) {
|
||||
case "":
|
||||
cppStd = config.CppStdVersion
|
||||
case "experimental":
|
||||
cppStd = config.ExperimentalCppStdVersion
|
||||
case "c++17", "gnu++17":
|
||||
// Map c++17 and gnu++17 to their 1z equivalents, until 17 is finalized.
|
||||
cppStd = strings.Replace(String(compiler.Properties.Cpp_std), "17", "1z", 1)
|
||||
}
|
||||
|
||||
if !flags.Clang {
|
||||
// GCC uses an invalid C++14 ABI (emits calls to
|
||||
// __cxa_throw_bad_array_length, which is not a valid C++ RT ABI).
|
||||
// http://b/25022512
|
||||
// The host GCC doesn't support C++14 (and is deprecated, so likely
|
||||
// never will).
|
||||
// Build these modules with C++11.
|
||||
cppStd = config.GccCppStdVersion
|
||||
}
|
||||
|
||||
if compiler.Properties.Gnu_extensions != nil && *compiler.Properties.Gnu_extensions == false {
|
||||
cStd = gnuToCReplacer.Replace(cStd)
|
||||
cppStd = gnuToCReplacer.Replace(cppStd)
|
||||
}
|
||||
|
||||
flags.ConlyFlags = append([]string{"-std=" + cStd}, flags.ConlyFlags...)
|
||||
flags.CppFlags = append([]string{"-std=" + cppStd}, flags.CppFlags...)
|
||||
|
||||
if ctx.useVndk() {
|
||||
flags.CFlags = append(flags.CFlags, esc(compiler.Properties.Target.Vendor.Cflags)...)
|
||||
}
|
||||
|
|
|
@ -176,8 +176,7 @@ func (stl *stl) flags(ctx ModuleContext, flags Flags) Flags {
|
|||
ndkSrcRoot := android.PathForSource(ctx, "prebuilts/ndk/current/sources/cxx-stl/system/include")
|
||||
flags.CFlags = append(flags.CFlags, "-isystem "+ndkSrcRoot.String())
|
||||
case "ndk_libc++_shared", "ndk_libc++_static":
|
||||
// TODO(danalbert): This really shouldn't be here...
|
||||
flags.CppFlags = append(flags.CppFlags, "-std=c++11")
|
||||
// Nothing.
|
||||
case "":
|
||||
// None or error.
|
||||
if !ctx.toolchain().Bionic() {
|
||||
|
|
Loading…
Reference in a new issue