From a7380dfdb9f7080cb552090f93d089e971558c80 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 12 Aug 2017 13:13:53 -0700 Subject: clang: Switch c++ default to gnu++14 standard Using cmdline options -std doesnt always work e.g. boost where it uses c++ driver (clang++) to invoke compilation but then passes '-x c' to choose the language for compilation Which ends in errors like below error: invalid argument '-std=c++14' not allowed with 'C' Therefore change the defaults in driver itself to use gnu++14 which is default with g++ from gcc7+ too. Signed-off-by: Khem Raj --- ...08-clang-Default-to-gnu-14-for-c-standard.patch | 28 ++++++++++++++++++++++ recipes-devtools/clang/common.inc | 1 + 2 files changed, 29 insertions(+) create mode 100644 recipes-devtools/clang/clang/0008-clang-Default-to-gnu-14-for-c-standard.patch diff --git a/recipes-devtools/clang/clang/0008-clang-Default-to-gnu-14-for-c-standard.patch b/recipes-devtools/clang/clang/0008-clang-Default-to-gnu-14-for-c-standard.patch new file mode 100644 index 0000000..74bfc69 --- /dev/null +++ b/recipes-devtools/clang/clang/0008-clang-Default-to-gnu-14-for-c-standard.patch @@ -0,0 +1,28 @@ +From 521fdfcc2031d22b50125b3295b837229c77abd6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 12 Aug 2017 12:56:06 -0700 +Subject: [PATCH 8/8] clang: Default to gnu++14 for c++ standard + +GCC 7.x and newer default to same as well + +Signed-off-by: Khem Raj +--- + lib/Frontend/CompilerInvocation.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp +index b2c14554a4..eed925fac4 100644 +--- a/lib/Frontend/CompilerInvocation.cpp ++++ b/lib/Frontend/CompilerInvocation.cpp +@@ -1667,7 +1667,7 @@ void CompilerInvocation::setLangDefaults(LangOptions &Opts, InputKind IK, + if (T.isPS4()) + LangStd = LangStandard::lang_gnucxx11; + else +- LangStd = LangStandard::lang_gnucxx98; ++ LangStd = LangStandard::lang_gnucxx14; + break; + case InputKind::RenderScript: + LangStd = LangStandard::lang_c99; +-- +2.14.1 + diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc index 75df1b2..e850320 100644 --- a/recipes-devtools/clang/common.inc +++ b/recipes-devtools/clang/common.inc @@ -21,6 +21,7 @@ CLANGPATCHES = "\ file://0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch;patchdir=tools/clang \ file://0006-clang-Define-releative-gcc-installation-dir.patch;patchdir=tools/clang \ file://0008-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch;patchdir=tools/clang \ + file://0008-clang-Default-to-gnu-14-for-c-standard.patch;patchdir=tools/clang \ " CLANGPATCHES += "${@'file://0007-clang-Enable-SSP-and-PIE-by-default.patch;patchdir=tools/clang' if '${GCCPIE}' else ''}" -- cgit v1.2.3-54-g00ecf