[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-dev
Subject:    RE: [datatype-dev] CR-Client: Fixing Sun's Build Error When Function
From:       "Eric Hyche" <ehyche () real ! com>
Date:       2008-03-19 14:51:26
Message-ID: 007201c889d0$b5ff7600$db68a8c0 () EHYCHED620
[Download RAW message or body]


Looks good.

=============================================
Eric Hyche (ehyche@real.com)
Technical Lead
RealNetworks, Inc.  

> -----Original Message-----
> From: datatype-dev-bounces@helixcommunity.org 
> [mailto:datatype-dev-bounces@helixcommunity.org] On Behalf Of 
> Daniel Yek
> Sent: Tuesday, March 18, 2008 4:57 PM
> To: datatype-dev@helixcommunity.org
> Cc: C Wang
> Subject: [datatype-dev] CR-Client: Fixing Sun's Build Error 
> When Function Pointer Assignment Is done With Different 
> Implicit Calling Convention in vidplin.cpp HXShutdown()
> 
> Hi,
> 
> My little understanding is that SunStudio compilers employed 
> optimized 
> calling conventions for different types of functions (extern 
> "C", member 
> functions, etc.), just like Microsoft's compilers.
> 
> Perhaps the ultimate way to fix this is to figure out the correct 
> definitions of:
> common/include/hxtypes.h
> STDAPICALLTYPE
> STDAPIVCALLTYPE
> 
> common/include/hxcom.h
> STDMETHODIMP
> etc.
> 
> Before that happens, I think this patch from Sun create a fix simple 
> enough to be good.
> 
> Please review the patch.
> 
> There are other solutions utilizing  function pointers 
> typedefs (which 
> should work too, but can be a little more "messy" in the code.)
> 
> Thanks.
> 
> -- 
> Daniel Yek.
> 
> 
> 
> -------- Original Message --------
> Subject: 	fail to build new sun branch
> Date: 	Tue, 18 Mar 2008 18:30:24 +0800
> From: 	C Wang <Chris.Wang@Sun.COM>
> To: 	Daniel Yek <dyek@real.com>
> CC: 	sun-private-dev@helixcommunity.org
> 
> 
> 
> Daniel:
> There is one build error...The build
> fail module is datatype/group/video/vidplin.cpp. It reported 
> cannot use
> long(*const)()* to initiate extern "C" long(*const)()*.
> 
> The cause of problem is that the function HXShutdown has been declared
> as extern "C", and when you use the c++ function pointer to 
> initiate a c
> interface function pointer, it will fail with strict prototype
> inspection (which sunstudio does), since the c++ function pointer will
> pass a intrinsic argument (*this) compare to c function 
> pointer. gcc may
> can compromise with this kind of casting, but sun's compiler cannot.
> 
> I've attached the patch for the fix, but as I inspected our previous
> release, I found datatype/group/video and image are not delivered
> previously, I don't think any of the new module is depending on them.
> So, you may just remove these two directories from Sun's branch if you
> don't think the fix is necessary.
> 
> Chris
> 
> 
> 
> 
> 
> 
> 


_______________________________________________
Datatype-dev mailing list
Datatype-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-dev
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic