Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
>> Jan Kiszka wrote:
>>> My compiler still complains about undefined 'y0' in the enabled case.
>>>
>>> I'll try to dig into a different direction now: Automatic generation
>>> during build. This is what the kernel does as well when the preprocessor
>>> gives up. Would even save the DECLARE and should make everyone happy.
>> No, please nothing like that.
> 
> Because ... ?
> 
> BTW, I'll extend the prepare stage. Defining the proper dependencies for
> build-time generation gets too hairy.
> 
>> This one works for me:
>> #include <stdlib.h>
>> #include <stdio.h>
>>
>> #define __name2(a, b) a ## b
>> #define name2(a, b) __name2(a, b)
>>
>> #define DECLARE_ASSERT_SYMBOL(sym)                                      \
>>         static const int XENO_OPT_DEBUG_##sym = 0; \
>>         static const int CONFIG_XENO_OPT_DEBUG_##sym##0 = 0
>>
>> #define XENO_DEBUG(sym) \
>>         (name2(CONFIG_XENO_OPT_DEBUG_##sym,0) > XENO_OPT_DEBUG_##sym)
>>
>> #define XENO_ASSERT(subsystem,cond,action)  do { \
>>     if (unlikely(XENO_DEBUG(subsystem) && !(cond))) { \
>>         xnarch_trace_panic_freeze(); \
>>         xnlogerr("assertion failed at %s:%d (%s)\n", __FILE__, __LINE__, 
>> (#cond)); \
>>         xnarch_trace_panic_dump(); \
>>         action; \
>>     } \
>> } while(0)
>>
>> DECLARE_ASSERT_SYMBOL(NUCLEUS);
>>
>> int main(void)
>> {
>>         if (XENO_DEBUG(NUCLEUS))
>>                 printf("Hello\n");
>> }
>>
>> Please try and send me the result of pre-processing if
>> it does not work for you.
>>
> 
> Find it attached.

It looks like you are defining CONFIG_XENO_OPT_DEBUG_NUCLEUS to be y
instead of 1.

-- 
                                            Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to