Re: [CEDET-devel] c definition parsing problem
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2009-03-15 00:35:59
|
>>> "han...@gm..." <han...@go...> seems to think that: >Hello, >I'm working on a project that uses Eina as it's datatype library. The >safety check part of its function definition seem to make trouble for >parsing. The definition look like this: > >EAPI Eina_List *eina_list_append (Eina_List *list, const void *data) >EINA_ARG_NONNULL(2) EINA_WARN_UNUSED_RESULT; > >with semanticdb-adebug-current-database it shows this result for the >line of the above definition: > [ ... ] >#ifdef HAVE___ATTRIBUTE__ ># ifdef __GNUC__ ># if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) ># define EINA_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result)) ># else ># define EINA_WARN_UNUSED_RESULT ># endif [ ... ] Hi, While the pre-processor for C in CEDET is a bit more advanced than your typical tagging engine, it is not CPP. That complex if statement, for example, is more than it can handle. It doesn't do >, ==, or anything like that. What you could do is create your own version of eina.h with some simpler #if macro setups, and put it in front of the one that doesn't work. Good Luck Eric -- Eric Ludlam: er...@si... Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net |