On Wed, May 20, 2009 at 10:44 AM, Monty Taylor <mo...@inaugust.com> wrote:

> Kenton Varda wrote:
> >
> >
> > On Wed, May 20, 2009 at 12:35 AM, <cosmin.cremare...@gmail.com
> > <mailto:cosmin.cremare...@gmail.com>> wrote:
> >
> >     "./google/protobuf/stubs/once.h", line 114: Warning (Anachronism):
> >     Formal argument 2 of type extern "C" void(*)() in call to
> pthread_once
> >     (_once*, extern "C" void(*)()) is being passed void(*)().
> >
> >
> > This warning seems to be saying that pointers to functions with extern
> > "C" are not compatible with pointers to normal functions.  If this is
> > the case then that's a serious problem and I don't know what to do about
> > it.  But I think it's more likely that this is just bogus.
>
> AIUI, it stems from the fact that the Sun Studio C and C++ compilers are
> separate... but I'm not 100% sure about that. In general, if you are
> passing a pointer to a function that was compiled in C++ land, Sun
> Studio is going to complain if you don't declare that function to have C
> linkage. I had to do that for all of my callback functions in Drizzle. :)
>
> Now - as for it _actually_ being a problem, I don't know - I can ask
> someone though if you think it's important to learn.


If it doesn't work then libprotobuf is completely broken on sun studio,
because we rely on being able to pass non-extern-C functions to
pthread_once.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to