Sounds reasonable to me.

On Sun, Apr 8, 2012 at 7:08 AM, Andreas Hansson <[email protected]>wrote:

>    This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/1119/
>
> On April 7th, 2012, 9:32 a.m., *Nathan Binkert* wrote:
>
> Ship It!
>
>  ...and just when I thought this was done, it turns out that the removal of 
> "-Wno-deprecated" causes problems with gcc >= 4.3 and <= 4.5. I have added 
> the necessary bits to cover these cases as well and tested it with clang 2.9, 
> 3.0, and 3.1; and gcc 4.2.2, 4.3.3, 4.5.2 and 4.6.3 and it all works fine.
>
> The biggest change with respect to the previous revision is that it now has 
> to rely on two new macros "__hash_namespace_begin" and "__hash_namespace_end" 
> to open and close the hash namespace, this is to cover the case with gcc 
> >=4.3 and <= 4.5 where the unordered_map is in the nested namespace std::tr1.
>
> I hope it is still fine with everyone to ship it, but I'll wait a day or two 
> just to be sure.
>
>
> - Andreas
>
> On April 8th, 2012, 7:03 a.m., Andreas Hansson wrote:
>   Review request for Default.
> By Andreas Hansson.
>
> *Updated April 8, 2012, 7:03 a.m.*
> Description
>
> clang/gcc: Fix compilation issues with clang 3.0 and gcc 4.6
>
> This patch addresses a number of minor issues that cause problems when
> compiling with clang >= 3.0 and gcc >= 4.6. Most importantly, it
> avoids using the deprecated ext/hash_map and instead uses
> unordered_map (and similarly so for the hash_set). To make use of the
> new STL containers, g++ and clang has to be invoked with "-std=c++0x",
> and this is now added for all gcc versions >= 4.6, and always for
> clang since even 2.9 supports this. The addition of c++0x in turn
> causes a few problems, as the compiler is more stringent and adds a
> number of new warnings. Below, the most important issues are
> enumerated:
>
> 1) the use of namespaces is more strict, e.g. for isnan, and all
>    headers opening the entire namespace std are now fixed.
>
> 2) another other issue caused by the more stringent compiler is the
>    narrowing of the embedded python, which used to be a char array,
>    and is now unsigned char since there were values larger than 128.
>
> 3) a particularly odd issue that arose with the new c++0x behaviour is
>    found in range.hh, where the operator< causes gcc to complain about
>    the template type parsing (the "<" is interpreted as the beginning
>    of a template argument), and the problem seems to be related to the
>    begin/end members introduced for the range-type iteration, which is
>    a new feature in c++11.
>
> As a minor update, this patch also fixes the build flags for the clang
> debug target that used to be shared with gcc and incorrectly use
> "-ggdb".
>
>   Testing
>
> util/regress all passing (disregarding t1000 and eio) with gcc 4.6.2,
> and compiling with clang 2.9 and 3.0 on Ubuntu 12.04 and MacOSX 10.7.3
>
>   Diffs
>
>    - SConstruct (a47fd7c2d44e)
>    - ext/libelf/SConscript (a47fd7c2d44e)
>    - src/SConscript (a47fd7c2d44e)
>    - src/arch/alpha/isa/main.isa (a47fd7c2d44e)
>    - src/arch/alpha/mt.hh (a47fd7c2d44e)
>    - src/arch/arm/isa/includes.isa (a47fd7c2d44e)
>    - src/arch/arm/types.hh (a47fd7c2d44e)
>    - src/arch/mips/isa/includes.isa (a47fd7c2d44e)
>    - src/arch/power/isa/includes.isa (a47fd7c2d44e)
>    - src/arch/power/types.hh (a47fd7c2d44e)
>    - src/arch/sparc/isa/decoder.isa (a47fd7c2d44e)
>    - src/arch/sparc/mt.hh (a47fd7c2d44e)
>    - src/arch/sparc/tlb_map.hh (a47fd7c2d44e)
>    - src/arch/x86/isa/microops/fpop.isa (a47fd7c2d44e)
>    - src/arch/x86/isa/microops/mediaop.isa (a47fd7c2d44e)
>    - src/arch/x86/types.hh (a47fd7c2d44e)
>    - src/base/hashmap.hh (a47fd7c2d44e)
>    - src/base/inifile.cc (a47fd7c2d44e)
>    - src/base/range.hh (a47fd7c2d44e)
>    - src/base/stats/text.cc (a47fd7c2d44e)
>    - src/mem/ruby/common/Address.hh (a47fd7c2d44e)
>    - src/mem/ruby/common/NetDest.cc (a47fd7c2d44e)
>    - src/mem/ruby/network/fault_model/FaultModel.hh (a47fd7c2d44e)
>    - src/mem/ruby/network/fault_model/FaultModel.cc (a47fd7c2d44e)
>    - src/mem/ruby/network/garnet/BaseGarnetNetwork.cc (a47fd7c2d44e)
>    - src/mem/ruby/network/orion/OrionConfig.hh (a47fd7c2d44e)
>    - src/mem/ruby/network/orion/OrionRouter.cc (a47fd7c2d44e)
>    - src/mem/ruby/network/orion/TechParameter.hh (a47fd7c2d44e)
>    - src/sim/init.hh (a47fd7c2d44e)
>    - src/sim/init.cc (a47fd7c2d44e)
>
> View Diff <http://reviews.gem5.org/r/1119/diff/>
>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to