Re: [Vala] Can adding new virtual method break ABI?

2011-12-23 Thread Tal Hadad
. Please share your opinion, Tal Date: Sat, 17 Dec 2011 12:01:45 +0800 From: pcman...@gmail.com To: mikkel.kamst...@gmail.com CC: vala-list@gnome.org Subject: Re: [Vala] Can adding new virtual method break ABI? If you need to do these things manually, then what's the point in using vala? It&#

Re: [Vala] Can adding new virtual method break ABI?

2011-12-16 Thread PCMan
If you need to do these things manually, then what's the point in using vala? It's the job of compilers. People who like to do the job of compilers manually should use GObject/C instead. Manually filling a virtual function table and calculate offset of pointers are really of fun. lol Creating some

Re: [Vala] Can adding new virtual method break ABI?

2011-12-14 Thread Luca Bruno
On Wed, Dec 14, 2011 at 11:15 AM, Mikkel Kamstrup Erlandsen < mikkel.kamst...@gmail.com> wrote: > Indeed. > > Would it make sense to a [CCode (vfunc_padding = "8")] to class > declarations? This could then be decremented when new virtual > functions are added (to the end of the class!). > I'd exp

Re: [Vala] Can adding new virtual method break ABI?

2011-12-14 Thread Mikkel Kamstrup Erlandsen
On 12 December 2011 12:15, Jürg Billeter wrote: > On Mon, 2011-12-12 at 12:12 +0100, Luca Bruno wrote: >> >> On Mon, Dec 12, 2011 at 12:01 PM, Jürg Billeter wrote: >>         On Sun, 2011-12-11 at 11:34 +0100, Luca Bruno wrote: >>         > 2011/12/11 Tal Hadad >>         > >>         > > This i

Re: [Vala] Can adding new virtual method break ABI?

2011-12-12 Thread Jürg Billeter
On Mon, 2011-12-12 at 12:12 +0100, Luca Bruno wrote: > > On Mon, Dec 12, 2011 at 12:01 PM, Jürg Billeter wrote: > On Sun, 2011-12-11 at 11:34 +0100, Luca Bruno wrote: > > 2011/12/11 Tal Hadad > > > > > This idea is based on the assumption that the size of >

Re: [Vala] Can adding new virtual method break ABI?

2011-12-12 Thread Luca Bruno
On Mon, Dec 12, 2011 at 12:01 PM, Jürg Billeter wrote: > On Sun, 2011-12-11 at 11:34 +0100, Luca Bruno wrote: > > 2011/12/11 Tal Hadad > > > > > This idea is based on the assumption that the size of XClass struct > > > doesn't matter and can be changed(Am I right?). > > > Also, how does the virt

Re: [Vala] Can adding new virtual method break ABI?

2011-12-12 Thread Jürg Billeter
On Sun, 2011-12-11 at 11:34 +0100, Luca Bruno wrote: > 2011/12/11 Tal Hadad > > > This idea is based on the assumption that the size of XClass struct > > doesn't matter and can be changed(Am I right?). > > Also, how does the virtual method order is currently done by Vala? Is it > > alphabetic or

Re: [Vala] Can adding new virtual method break ABI?

2011-12-11 Thread Luca Bruno
2011/12/11 Tal Hadad > > Yes it does. What C programmers often do is adding unused vfuncs as > padding for future extension of the class. From this perspective Vala could > theoretically add some kind of padding to avoid abi breakage. > So what about this idea for fix it: > Create a new attribut

Re: [Vala] Can adding new virtual method break ABI?

2011-12-11 Thread Tal Hadad
method order is currently done by Vala? Is it alphabetic or by the order of the decelerations? Thanks Tal Date: Sun, 11 Dec 2011 10:48:21 +0100 Subject: Re: [Vala] Can adding new virtual method break ABI? From: lethalma...@gmail.com To: tal...@hotmail.com CC: vala-list@gnome.org 2011/12/11 Tal Ha

Re: [Vala] Can adding new virtual method break ABI?

2011-12-11 Thread Luca Bruno
2011/12/11 Tal Hadad > > I've read how GObject define virtual methods, in the XClass struct, and > I'm afraid defining new virtual method can break ABI. Am I right? > Before: > struct _XClass > { > GObjectClass parent_class; > > /* stuff */ > void (*do_action) (X *self, /* parameters */); > }; >

[Vala] Can adding new virtual method break ABI?

2011-12-11 Thread Tal Hadad
I've read how GObject define virtual methods, in the XClass struct, and I'm afraid defining new virtual method can break ABI. Am I right? Before: struct _XClass { GObjectClass parent_class; /* stuff */ void (*do_action) (X *self, /* parameters */); }; After: struct _XClass { GObjectClass parent