Bug 308719

Summary: phonon-vlc compilation fails
Product: kde-windows Reporter: Bogdan Cristea <cristeab>
Component: buildsystemAssignee: KDE-Windows <kde-windows>
Status: RESOLVED FIXED    
Severity: normal CC: mparchet, ps_ml
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description Bogdan Cristea 2012-10-20 16:23:40 UTC
I am using emerge from trunk on Win8 RC x86_64 and Visual Studio 2010. emerge was configured to compile for x86 arch. When trying to emerge okular, the compilation fails at phonon-vlc with the following error:

backend.cpp
r:\include\vlc\plugins\vlc_common.h(688) : error C2059: syntax error : 'bad suff
ix on number'
r:\include\vlc\plugins\vlc_common.h(688) : error C2146: syntax error : missing '
)' before identifier 'U'
r:\include\vlc\plugins\vlc_common.h(688) : error C2059: syntax error : ')'
r:\include\vlc\plugins\vlc_common.h(689) : error C2059: syntax error : 'bad suff
ix on number'
r:\include\vlc\plugins\vlc_common.h(690) : error C2059: syntax error : 'bad suff
ix on number'
r:\include\vlc\plugins\vlc_common.h(691) : error C2059: syntax error : 'bad suff
ix on number'
r:\include\vlc\plugins\vlc_common.h(692) : error C2059: syntax error : 'bad suff
ix on number'
r:\include\vlc\plugins\vlc_common.h(693) : error C2059: syntax error : 'bad suff
ix on number'
r:\include\vlc\plugins\vlc_common.h(694) : error C2059: syntax error : 'bad suff
ix on number'
r:\include\vlc\plugins\vlc_common.h(695) : error C2059: syntax error : 'bad suff
ix on number'

The problem is in vlc_common.h header file line 688 and below:
    return ((x & 0x00000000000000FFLLU) << 56)
         | ((x & 0x000000000000FF00LLU) << 40)
         | ((x & 0x0000000000FF0000LLU) << 24)
         | ((x & 0x00000000FF000000LLU) <<  8)
         | ((x & 0x000000FF00000000LLU) >>  8)
         | ((x & 0x0000FF0000000000LLU) >> 24)
         | ((x & 0x00FF000000000000LLU) >> 40)
         | ((x & 0xFF00000000000000LLU) >> 56);

VS 2010 does not recognize 64 bit numbers of the form: 0xFF00000000000000LLU, so one can use instead:
0xFF00000000000000LU



Reproducible: Always

Steps to Reproduce:
1.emerge okular
Actual Results:  
compilation stops with error at phonon-vlc

Expected Results:  
compilation should succeed

a patch might be needed to apply on vlc sources when VS2010 is used (?) replacing UUL with UL in line 688 from vlc_common.h