it solves the issue even if it seems to always have problems with elif statement and spaces. I'have not really investigate this problem but show-unmatched-syntax-error raise an error on elif statement

#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__)  || defined( __MWERKS__)
    #  if defined( OSG_LIBRARY_STATIC )
    #    define OSG_EXPORT
    #  elif defined( OSG_LIBRARY )
    #    define OSG_EXPORT   __declspec(dllexport)
    #  else
    #    define OSG_EXPORT   __declspec(dllimport)
    #  endif
    #  define OSG_EXPORT

I have a more problematic issue, semantic seems to not recognize macro definition which come from an include file.

#define EXPORT

#include "Export.h"

class EXPORT toto // <--- error start from here until the class end



2009/1/6 Eric M. Ludlam <>

 This is a fine forum for that question.  I appear to have forgotten
to reply to your post.

 It appears that the problem is w/ the spaces in front of the #.  I
examined the lexer, and by re-ordering some of the analyzers, got this
case to work.

 After updating from CVS, everyone should be on the lookout for
anomalies in case I got something wrong, but this case should be
working fine.


>>> "cabieces julien" <> seems to think that:
>I just checked out semantic from CVS and I get always the same issue. Is it
>a known issue or maybe I don't post in the right mailing list.
>Thanks for replies.
>2008/12/15 cabieces julien <>
>> Hi,
>> I've got problem on macro with semantic when I've multiple ifdef macro
>> inclusion.
>> On following example, all "ifdef BABAR" bloc is tagged like "unmatched
>> syntax" using semantic-show-unmatched-syntax.
>> Example:
>> #define CLOUG
>> #define BABAR
>> #ifdef CLOUG
>>     #ifdef BABAR
>>     #define BUBU
>>     #endif
>> #endif
>> Thanks
>> Julien
 [ ... ]

         Eric Ludlam:             
  Siege:          Emacs: