Index: cmake/modules/CheckCompilerVersion.cmake =================================================================== --- cmake/modules/CheckCompilerVersion.cmake +++ cmake/modules/CheckCompilerVersion.cmake @@ -1,4 +1,4 @@ -# Check if the host compiler is new enough. LLVM requires at least GCC 4.7, +# Check if the host compiler is new enough. LLVM requires at least GCC 4.8, # MSVC 2013, or Clang 3.1. include(CheckCXXSourceCompiles) @@ -8,8 +8,8 @@ if(NOT LLVM_FORCE_USE_OLD_TOOLCHAIN) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7) - message(FATAL_ERROR "Host GCC version must be at least 4.7!") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8) + message(FATAL_ERROR "Host GCC version must be at least 4.8!") endif() elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1) @@ -35,7 +35,7 @@ int main() { return (float)x; }" LLVM_NO_OLD_LIBSTDCXX) if(NOT LLVM_NO_OLD_LIBSTDCXX) - message(FATAL_ERROR "Host Clang must be able to find libstdc++4.7 or newer!") + message(FATAL_ERROR "Host Clang must be able to find libstdc++4.8 or newer!") endif() set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS}) set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES}) Index: docs/CodingStandards.rst =================================================================== --- docs/CodingStandards.rst +++ docs/CodingStandards.rst @@ -189,7 +189,7 @@ traits header to emulate it. .. _the libstdc++ manual: - http://gcc.gnu.org/onlinedocs/gcc-4.7.3/libstdc++/manual/manual/status.html#status.iso.2011 + http://gcc.gnu.org/onlinedocs/gcc-4.8.0/libstdc++/manual/manual/status.html#status.iso.2011 Other Languages --------------- Index: docs/GettingStarted.rst =================================================================== --- docs/GettingStarted.rst +++ docs/GettingStarted.rst @@ -202,7 +202,7 @@ Package Version Notes =========================================================== ============ ========================================== `GNU Make `_ 3.79, 3.79.1 Makefile/build processor -`GCC `_ >=4.7.0 C/C++ compiler\ :sup:`1` +`GCC `_ >=4.8.0 C/C++ compiler\ :sup:`1` `python `_ >=2.7 Automated test suite\ :sup:`2` `zlib `_ >=1.2.3.4 Compression library\ :sup:`3` =========================================================== ============ ========================================== @@ -261,7 +261,7 @@ our build systems: * Clang 3.1 -* GCC 4.7 +* GCC 4.8 * Visual Studio 2013 Anything older than these toolchains *may* work, but will require forcing the @@ -275,9 +275,6 @@ We track certain versions of software that are *known* to fail when used as part of the host toolchain. These even include linkers at times. -**GCC 4.6.3 on ARM**: Miscompiles ``llvm-readobj`` at ``-O3``. A test failure -in ``test/Object/readobj-shared-object.test`` is one symptom of the problem. - **GNU ld 2.16.X**. Some 2.16.X versions of the ld linker will produce very long warning messages complaining that some "``.gnu.linkonce.t.*``" symbol was defined in a discarded section. You can safely ignore these messages as they are @@ -294,19 +291,6 @@ symptom is an error about cyclic dependencies. We recommend upgrading to a newer version of Gold. -**Clang 3.0 with libstdc++ 4.7.x**: a few Linux distributions (Ubuntu 12.10, -Fedora 17) have both Clang 3.0 and libstdc++ 4.7 in their repositories. Clang -3.0 does not implement a few builtins that are used in this library. We -recommend using the system GCC to compile LLVM and Clang in this case. - -**Clang 3.0 on Mageia 2**. There's a packaging issue: Clang can not find at -least some (``cxxabi.h``) libstdc++ headers. - -**Clang in C++11 mode and libstdc++ 4.7.2**. This version of libstdc++ -contained `a bug `__ which -causes Clang to refuse to compile condition_variable header file. At the time -of writing, this breaks LLD build. - Getting a Modern Host C++ Toolchain ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^