Re: Re: doxygen

Eric Niebler <[email protected]>
Newsgroups gmane.comp.documentation.synopsis
Message-ID <[email protected]>
Stefan Seefeld wrote:

> synopsis -h -p Cxx will tell you all the options you can use with the Cxx
> parser. There's notably the 'emulate_compiler' option, which defaults to
> 'c++'. Can you try 'g++' to see whether that works better ? 'c++' should
> be just an alias to 'g++', but...
>
> synopsis -p Cxx -Wp,--emulate_compiler='g++' ...


Unfortunately, that didn't help. It seems cygwin's platform headers make 
use of some C++ extensions, such as __cdecl and __declspec. I added the 
following to my cpp_emulations file, and got quite a bit further:

    ('__i386__', ''),
    ('__cdecl', ''),
    ('__declspec(x)', '')

Now I'm dying in the synopsis C++ parser itself. I've attached a simple 
repro.

-- 
Eric Niebler
Boost Consulting
www.boost-consulting.com
test.hpp (text/plain, 545 B)
template< typename CharT, char Ch, wchar_t Wch >
struct char_literal;

template< char Ch, wchar_t Wch >
struct char_literal< char, Ch, Wch >
{
    static char const value = Ch;
};

template< char Ch, wchar_t Wch >
struct char_literal< wchar_t, Ch, Wch >
{
    static wchar_t const value = Wch;
};

#define CHAR_LITERAL( CharT, ch ) char_literal< CharT, ch, L##ch >::value


template< typename Ch >
void test( Ch ch )
{
    switch( ch )
    {
        case CHAR_LITERAL( Ch, 'a' ):
            break;
        default:
            break;
    }
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.