scons: Enforce gcc >= 4.4 or clang >= 2.9 and c++0x support
authorAndreas Hansson <andreas.hansson@arm.com>
Mon, 7 Jan 2013 18:05:39 +0000 (13:05 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Mon, 7 Jan 2013 18:05:39 +0000 (13:05 -0500)
commit406891c62a4948ddee3c83a18b5d1453b159953d
treec62c8fd60d86425dc579fc28b5e6857524228fa3
parent221302335baa7bfb532aeb73bb37d2f802ecec25
scons: Enforce gcc >= 4.4 or clang >= 2.9 and c++0x support

This patch checks that the compiler in use is either gcc >= 4.4 or
clang >= 2.9. and enables building with --std=c++0x in all cases. As a
consequence, we can tidy up the hashmap and always have static_assert
available. If anyone wants to use alternative compilers, icc for
example supports c++0x to a similar level and could be added if
needed.

This patch opens up for a more elaborate use of c++0x features that
are present in gcc 4.4 and clang 2.9, e.g. auto typed variables,
variadic templates, rvalues and move semantics, and strongly typed
enums. There will be no going back on this one...
SConstruct
ext/libelf/SConscript
src/base/compiler.hh
src/base/hashmap.hh
src/base/stats/text.cc