Does ecpg understand forward declarations?

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Does ecpg understand forward declarations?

Sam Liapis

I'm a newbie to postgresql and ecpg in particular.

My brief is to 'convert' Oracle pro*C files ready for ecpg preprocessing.

I've so far struck what appears to be ecpg limitation such as multi-dim arrays, function pointers and void type.

But the one that's biting hard right now is ecpg seems to be unaware of or ignores forward declarations.

Take the classic scenario of mutually dependent structs A & B shown below.

ECPG keeps bailing with "ERROR: unrecognized data type name struct B" (at line 100)
If I remove the forward declaration its the same error for line 110 (struct B* ptr;)

100 struct B;
102 struct A {
110    struct B* ptr;
111 };
113 struct B {
120    struct A* ptr;
121 };

Can someone confirm this indeed is a shortcoming of ecpg and suggest any way around it?