This code contains a C array of addresses of labels defined in
inline asm. To do this, the names must be declared as external
in C. The declared type does not matter since only the address is
used, and for some reason, the author of the code used the 'void'
type despite taking the address of a void expression being invalid.
Changing the type to char, a reasonable choice since the alignment
of the code labels cannot be known or guaranteed, eliminates gcc
warnings and allows building with suncc.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Fixes compilation on 32-bit llvm which didn't allow a cast in an m operand.
Originally committed as revision 19086 to svn://svn.ffmpeg.org/ffmpeg/trunk
12.59% overall speedup in x86_32
9.98% overall speedup in x86_64
compared to gcc 4.3.3
Originally committed as revision 18903 to svn://svn.ffmpeg.org/ffmpeg/trunk