Hello,
I am trying to use this library(libmicrohttpd-0.9.9.tar.gz) with LWIP
and FreeRTOS on LPC2478. Due to limited resources I have enabled an
option "-fshort-enums" (use as small as possible size to hold values
from enum). Similar post has been already written - see
http://lists.gnu.org/archive/html/libmicrohttpd/2012-06/msg00001.html
During compilation these warning messages appear ( arm-none-eabi-gcc,
gcc version 4.6.1 (Sourcery CodeBench 2011.09-60)):
../Source/Library/libmicrohttpd/daemon.c: In function 'parse_options_va':
../Source/Library/libmicrohttpd/daemon.c:1651:35: warning: 'enum
MHD_OPTION' is promoted to 'int' when passed through '...' [enabled by
default]
../Source/Library/libmicrohttpd/daemon.c:1651:35: note: (so you should
pass 'int' not 'enum MHD_OPTION' to 'va_arg')
../Source/Library/libmicrohttpd/daemon.c:1651:35: note: if this code
is reached, the program will abort
It meants that the enum MHD_OPTION is threated as uint8. But when
parameters are extracted, these are threated as int.
"simon h" has suggested to use a special option MHD_OPTION_FORCE32 =
0xFFFFFFFFUL. I would vote for this to overcome this issue.