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;
}
}