Add c_std and cpp_std properties.
Test: Checked showcommands ouput for each setting. Bug: None Change-Id: Ibe02352f19ca2777b9a419136270e5c4390f1149
This commit is contained in:
@@ -86,6 +86,16 @@ type BaseCompilerProperties struct {
|
||||
// pass -frtti instead of -fno-rtti
|
||||
Rtti *bool
|
||||
|
||||
// C standard version to use. Can be a specific version (such as "gnu11"),
|
||||
// "experimental" (which will use draft versions like C1x when available),
|
||||
// or the empty string (which will use the default).
|
||||
C_std string
|
||||
|
||||
// C++ standard version to use. Can be a specific version (such as
|
||||
// "gnu++11"), "experimental" (which will use draft versions like C++1z when
|
||||
// available), or the empty string (which will use the default).
|
||||
Cpp_std string
|
||||
|
||||
// if set to false, use -std=c++* instead of -std=gnu++*
|
||||
Gnu_extensions *bool
|
||||
|
||||
@@ -307,7 +317,18 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
|
||||
|
||||
if !ctx.sdk() {
|
||||
cStd := config.CStdVersion
|
||||
if compiler.Properties.C_std == "experimental" {
|
||||
cStd = config.ExperimentalCStdVersion
|
||||
} else if compiler.Properties.C_std != "" {
|
||||
cStd = compiler.Properties.C_std
|
||||
}
|
||||
|
||||
cppStd := config.CppStdVersion
|
||||
if compiler.Properties.Cpp_std == "experimental" {
|
||||
cppStd = config.ExperimentalCppStdVersion
|
||||
} else if compiler.Properties.Cpp_std != "" {
|
||||
cppStd = compiler.Properties.Cpp_std
|
||||
}
|
||||
|
||||
if !flags.Clang {
|
||||
// GCC uses an invalid C++14 ABI (emits calls to
|
||||
|
Reference in New Issue
Block a user