[ECOS] Bug in declaration of Cyg_Scheduler::unlock_inner ?
Uwe Kindler
ukindler@htwm.de
Tue Oct 28 08:23:00 GMT 2003
Hello,
I buildet eCos for the EDOSK board with the default configuration and
received the following error message:
make: Leaving directory `/ecos-d/ecos/workdir/default_edosk_build'
Cyg_Scheduler::unlock_inner(unsigned int)' does not match any in class `
Cyg_Scheduler'
/ecos-d/ecos/workdir/default_edosk_install/include/cyg/kernel/sched.hxx:155:
candidate
is: static void Cyg_Scheduler::unlock_inner(long unsigned int = 0)
make[1]: *** [src/sched/sched.o.d] Error 1
make: *** [build] Error 2
In sched.hxx then unlock_inner is declared as:
static void unlock_inner(cyg_uint32 new_lock = 0);
In sched.cxx then unlock_inner is defined as:
void Cyg_Scheduler::unlock_inner( cyg_ucount32 new_lock )
In basetype.h I defined #define cyg_halint32 long and did not define
cyg_halcount32 so it was
defined as int by default in cyg_type.h.
Now I also defined cyg_halcount32 as long and there is no problem anymore.
So my two questions are:
1. What is the reason for the different declaration of unlock_inner.
2. If int is 32 bits wide should I use long or int for cyg_halint32 - o
doesn't it matter.
2. Why is cyg_halcount8, cyg_halcount16 and cyg_halcount32 defined as int by
default?
Best Regards, Uwe
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss
mailing list