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

Reply via email to