Hi This is a rather delicate matter and an area where we have been fighting with GCC and especially strict aliasing with GCC 4.4. You can follow it in issue 463 <http://code.google.com/p/v8/issues/detail?id=463>. In r5237<http://code.google.com/p/v8/source/detail?r=5237> we finally got a solution which fixed the GCC 4.4 problem. This however caused problems with older GCCs which where addressed in r5305<http://code.google.com/p/v8/source/detail?r=5305>. However this last change seems to be the one which breaks compiling with RVCT. I just tried to re-introduce the & without the const, but that brings back the strict aliasing issue with GCC 4.4 (4.4.3).
Maybe the best solution here will be a conditional compile. Is there any predefined macros which can uniquily identify RVCT? Regards, Søren On Wed, Sep 1, 2010 at 19:04, vlad <[email protected]> wrote: > Hi, > Changing "Source* const & source" to just "Source* source" breaks rvct > build... However Source*& source works fine. > > "v8.be\src\factory.h", line 335: Error: #308: more than one > instance of overloaded function "v8::internal::BitCast" matches the ar > gument list: > function template > "v8::internal::BitCast<Dest,Source>(const Source &)__softfp" > function template > "v8::internal::BitCast<Dest,Source>(Source *)__softfp" > argument types are: (v8::internal::Object **) > ROOT_LIST(ROOT_ACCESSOR) > > template <class Dest, class Source> > inline Dest BitCast(Source* source) { > return BitCast<Dest>(reinterpret_cast<uintptr_t>(source)); > } > > Thanks > Vlad > > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev > -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
