Re: embed.h doesn't work in C++

2004-05-03 Thread Nicholas Clark
On Thu, Apr 22, 2004 at 08:59:37AM -0700, Brent 'Dax' Royal-Gordon wrote: You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a struct Parrot_Interp *. That ought to save us a couple kilobytes. Wibble.

Re: embed.h doesn't work in C++

2004-04-23 Thread Jens Rieks
Hi, Leopold Toetsch wrote: Jens Rieks wrote: I've prepared a patch for it. Why do you change all to the longest declaration of Parrot_Interp? because Brent 'Dax' Royal-Gordon wrote: : The naming conventions say that struct : Parrot_Interp should really be struct parrot_interp_t, but that's

Re: embed.h doesn't work in C++

2004-04-23 Thread Leopold Toetsch
Jens Rieks wrote: I've prepared a patch for it. Why do you change all to the longest declaration of Parrot_Interp? We have in decreasing length struct parrot_interp_t * struct Parrot_Interp * Parrot_Interp Interp * We need the structure declaration which could be 1) or 2) and we want a short

Re: embed.h doesn't work in C++

2004-04-23 Thread Jarkko Hietaniemi
You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a I hope there's #undef Interp in there somewhere. Or maybe even possibly #ifdef Interp #error EEEK SOMEONE ELSE HAS DEFINED Interp. #endif In other

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 12:45 AM +0200 4/23/04, Jens Rieks wrote: Hi, On Thursday 22 April 2004 17:59, Brent 'Dax' Royal-Gordon wrote: Nicholas Clark wrote: Pain being due to these two: struct Parrot_Interp; typedef struct Parrot_Interp *Parrot_Interp; This doesn't seem right. It is and it isn't.

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 6:48 PM +0300 4/23/04, Jarkko Hietaniemi wrote: You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a I hope there's #undef Interp in there somewhere. I hope it's not in there in the first place. The

Re: embed.h doesn't work in C++

2004-04-23 Thread Brent 'Dax' Royal-Gordon
Dan Sugalski wrote: At 6:48 PM +0300 4/23/04, Jarkko Hietaniemi wrote: You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a I hope there's #undef Interp in there somewhere. I hope it's not in there

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 9:19 AM -0700 4/23/04, Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: At 6:48 PM +0300 4/23/04, Jarkko Hietaniemi wrote: You're welcome to try it again, though...while you're at it, you might as well make all internal Parrot functions take an Interp * instead of a I hope there's

Re: embed.h doesn't work in C++

2004-04-23 Thread Brent 'Dax' Royal-Gordon
Leopold Toetsch wrote: Jens Rieks wrote: I've prepared a patch for it. Why do you change all to the longest declaration of Parrot_Interp? We have in decreasing length struct parrot_interp_t * struct Parrot_Interp * Parrot_Interp Interp * We need the structure declaration which could be 1) or

Re: embed.h doesn't work in C++

2004-04-23 Thread Jarkko Hietaniemi
Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: I hope it's not in there in the first place. The prefix needs to stay. The declaration has been (along the lines of) typedef struct Parrot_Interp { ... } Interp; for years. The Interp typedef is intended for

Re: embed.h doesn't work in C++

2004-04-23 Thread Dan Sugalski
At 8:03 PM +0300 4/23/04, Jarkko Hietaniemi wrote: Brent 'Dax' Royal-Gordon wrote: Dan Sugalski wrote: I hope it's not in there in the first place. The prefix needs to stay. The declaration has been (along the lines of) typedef struct Parrot_Interp { ... } Interp; for

Re: embed.h doesn't work in C++

2004-04-23 Thread Jarkko Hietaniemi
This works as long as people (a) know of (b) stick to the policy (Interp for internal use only) (c) No application embedding Parrot has defined Interp themselves. Experience has shown that none of these is likely to happen and/or stay that way for long :-) (c) is the reason for the separate

embed.h doesn't work in C++

2004-04-22 Thread Nicholas Clark
If I use a C++ compiler to include embed.h: In file included from /Users/nick/Ponie/ponie06/parrot/include/parrot/embed.h:19, from perl.h:31, from miniperlmain.c:27: /Users/nick/Ponie/ponie06/parrot/include/parrot/interpreter.h:59: error: conflicting types for

Re: embed.h doesn't work in C++

2004-04-22 Thread Brent 'Dax' Royal-Gordon
Nicholas Clark wrote: Pain being due to these two: struct Parrot_Interp; typedef struct Parrot_Interp *Parrot_Interp; This doesn't seem right. It is and it isn't. The naming conventions say that struct Parrot_Interp should really be struct parrot_interp_t, but that's a ginormous global

Re: embed.h doesn't work in C++

2004-04-22 Thread Brent 'Dax' Royal-Gordon
Jens Rieks wrote: It is and it isn't. The naming conventions say that struct Parrot_Interp should really be struct parrot_interp_t, but that's a ginormous global change. I've tried to implement it once or twice, but my most recent attempt cause mysterious compile errors. I've prepared a patch