cc1plus: error: unrecognized command line option "-std=c++11"
Author: Emil Velikov <email@example.com>
Date: Thu Dec 13 11:56:40 2018 +0000
configure: add CXX11_CXXFLAGS to LLVM_CXXFLAGS
Seemingly with LLVM7 and GCC 5.0, the former won't properly advertise
-std=c++11 and the latter will choke.
dd this temporary workaround, otherwise we'll get errors like:
In file included from /usr/include/c++/5/type_traits:35:0,
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
Signed-off-by: Emil Velikov <firstname.lastname@example.org>
Reviewed-by: Dylan Baker <email@example.com>
what compiler and what version? It wouldn't surprise me if old versions of gcc (Say 4.2) doesn't actually support C++11.
Actually, it looks like std=c++11 was added in GCC 4.7, and before that you had to use std=c++0x. Clang added support for std=c++11 it looks like.
Given the patch in question explicitly adds CXX11_CXXFLAGS in a section that is only taken into account when llvm is enabled the llvm version would also be relevant.
AFAIR the last version before llvm-7 that didn't advertise -std=c++11 was something like llvm-3.9, and there was a patch proposed by Emil that would bump the minimum required version to 5.0 (it didn't land yet, I guess because there was some andorid WIP patch in the series). With that support for -std=c++11 would become a requirement for builds that enable llvm.
AFAICT we probe if the compiler supports -std... before using it.
If somehow that's not the case we ought to fix that, or fallback to one that owrks.
Patches welcome :-)