VLC 2.1.0

Tijl Coosemans tijl at FreeBSD.org
Tue Oct 22 15:47:19 UTC 2013


On Tue, 22 Oct 2013 12:30:38 -0200 William Grzybowski wrote:
> On Tue, Oct 22, 2013 at 11:25 AM, Tijl Coosemans <tijl at coosemans.org> wrote:
>> On Tue, 22 Oct 2013 10:55:28 -0200 William Grzybowski wrote:
>>> I am trying to update vlc to 2.1.0, its the final step to get rid of
>>> ffmpeg1 as well.
>>> I was wondering if any c++ guru out there have any clues on how to fix this:
>>>
>>> http://pastebin.ca/2469885
>>>
>>> http://people.freebsd.org/~wg/vlc2.1.0.txt
>>
>> I think the problem is that clang doesn't expect } after a label.
>> So try adding a ; or (void)0; between the label and vlc_cleanup_run().
> 
> That works, thank you!

I suspect that clang is correct to complain about this and if so we
might want to add (void)0; to the definition of pthread_cleanup_pop
in /usr/include/pthread.h.  Let's see what -standards has to say
about this.

Summarised: the idiom that VLC uses is this:

pthread_cleanup_push(...);
...
if (error) goto cleanup;
...
cleanup:
pthread_cleanup_pop(...);

Because the definition of the pthread_cleanup_pop macro starts with }
clang complains.


More information about the freebsd-multimedia mailing list