Hi Dave, On 08/08/2012 09:24 AM, Dave Anderson wrote: > > > ----- Original Message ----- >> >> >> ----- Original Message ----- >>> Dne Čt 26. července 2012 14:02:56 Adrien Kunysz napsal(a): >>>> On Thu, Jul 26, 2012 at 10:57 AM, Petr Tesarik <ptesarik@xxxxxxx> >>>> wrote: >>>>> Hi all, >>>>> >>>>> as part of SUSE HackWeek8, David started work on a GUI extension using >>>>> Qt4, which is a C++ project. One of the early annoyances is that an >>>>> extension module must include the declarations from defs.h, and we >>>>> currently use some C identifiers which happen to be keywords in C++, >>>>> namely: >>>>> >>>>> - struct namespace >>>>> - struct namespace namespace (in struct symbol_table_data) >>>>> - char *typename (in struct gnu_request) >> >> And it seems that "namespace" is used for other purposes in files >> like ppc.c and ppc64.c... > > Of course that's irrelevant to the discussion... > >> The "typename" is changeable, in fact I don't think it's really used >> except for debugging purposes, although it would break the capability >> of using other (earlier) versions of gdb. I would say that most people >> use the most recent gdb version, but it always seems that there's somebody >> still doing things differently. But that could be dealt with by #ifdef'ing >> the structure member declaration in defs.h based upon the relevant GDB_X_X >> setting, because gdb/symtab.c wouldn't see it. Kind of ugly, >> though... >> >>>>> >>>>> Can I rename them? But you said earlier that the existing API must never >>>>> change... Any other suggestions to make this include file parseable by a >>>>> C++ compiler? >>>> >>>> One hack you could consider would be to do something like this: >>>> >>>> extern "C" { >>>> #define namespace ns >>>> #include "defs.h" >>>> #undef namespace >>>> } >>> >>> Yes! That works, although I'm not entirely sure it can't do any harm. >>> After all, it's what you called it - a hack. ;-) >> >> But it can't harm the crash utility, right? ;-) >> >>> I wonder whether Dave (Anderson) can suggest a cleaner solution (or make an >>> official statement that he doesn't care about C++ compatibility). >>> >>> Petr Tesarik >>> SUSE Linux >> >> To be honest, I really don't care about C++ compatibility -- with the realization >> that I'm already offending somebody. If Adrien's suggestion works, I suppose I'd >> prefer to keep things as they are. But if you really want to submit a patch, >> I'll entertain it as always... >> >> Dave > > Petr, > > On second thought, I'll just take of this in crash-6.0.9. It's not > that big a deal... I noted the changes to defs.h in 6.0.9 that permitted me to include it without macros to rename uses of namespace and typename. Thanks for putting the time into it. -- David Mair. -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility