This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Bug in declaration of Cyg_Scheduler::unlock_inner ?
- From: "Uwe Kindler" <ukindler at htwm dot de>
- To: <ecos-discuss at sources dot redhat dot com>
- Date: Tue, 28 Oct 2003 09:26:06 +0100
- Subject: [ECOS] Bug in declaration of Cyg_Scheduler::unlock_inner ?
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