[pygccxml-development] Incorrect code due to parameter default values
Brought to you by:
mbaas,
roman_yakovenko
From: Paul M. <pa...@sc...> - 2008-10-27 10:44:04
|
Hello, Py++ generates incorrect code for me that won't compile, this is with the svn version of yesterday. The real problem is gccxml's stupid handling of parameter default values, where it only stores the argument value literally found during parsing, which is obviously dependent on context. I.e. when gccxml parses namespace doh { enum E { ONE, TWO, THREE }; void f(int a, int b = THREE); } it stores for the default value of parameter b "THREE", instead of "doh::THREE". Py++ then generates code that isn't put inside namespace doh, but DOES use the value THREE. Which won't compile... I seem to recall there was a patch for this some time ago for Py++. Should that patch have solved all instances of this problem? If not, would patching the gccxml output be an appropriate way of working around this? (I.e. replacing THEE with doh::THREE). Regards, Paul |