Thread overview | ||||||
---|---|---|---|---|---|---|
|
June 11, 2012 GtkD compile failed. shift by 32 | ||||
---|---|---|---|---|
| ||||
http://svn.dsource.org/projects/gtkd/branches/070125merge/gtkD/src/gdk/Color.d uint getValue() { return (gdkColor.red <<32) | (gdkColor.green << 16) | (gdkColor.blue); } Just browsing through the source it looks like gtkColor.red is a ushort. I get this error. dmd -O -m64 -Isrc -c src/gdk/Pixbuf.d -ofsrc/gdk/Pixbuf.o src/gdk/Color.d(231): Error: shift by 32 is outside the range 0..31 make: *** [src/gdk/Color.o] Error 1 make: *** Waiting for unfinished jobs.... ==> ERROR: A failure occurred in build(). I get that exact same message no matter which compiler I use. Does any -- Using Opera's rev...Shutit Opera. Firefox is catching up. Apparently their machines ran out of RAM too. |
June 11, 2012 Re: GtkD compile failed. shift by 32 | ||||
---|---|---|---|---|
| ||||
Posted in reply to 1100110 | On Sunday, June 10, 2012 20:21:29 1100110 wrote:
> http://svn.dsource.org/projects/gtkd/branches/070125merge/gtkD/src/gdk/Color .d
>
>
> uint getValue()
> {
> return (gdkColor.red <<32) | (gdkColor.green << 16) | (gdkColor.blue);
> }
>
>
> Just browsing through the source it looks like gtkColor.red is a ushort. I get this error.
>
> dmd -O -m64 -Isrc -c src/gdk/Pixbuf.d -ofsrc/gdk/Pixbuf.o
> src/gdk/Color.d(231): Error: shift by 32 is outside the range 0..31
> make: *** [src/gdk/Color.o] Error 1
> make: *** Waiting for unfinished jobs....
> ==> ERROR: A failure occurred in build().
>
> I get that exact same message no matter which compiler I use.
>
> Does any
I take it that part of you post got cut off?
In either case,
* ulong can only be shifted by up to 63 bits
* uint can only be shifted by up to 31 bits
* ushort can only be shifted by up to 15 bits
* ubyte can only be shifted by up to 7 bits
Any code which attempts to shift by more than that is wrong. If you want to shift a value by the number of bits in its type, you might as well just use 0. If gtkD is attempting to shift by more than is legal, then it has a bug.
- Jonathan M Davis
|
June 11, 2012 Re: GtkD compile failed. shift by 32 | ||||
---|---|---|---|---|
| ||||
Posted in reply to 1100110 | On 06/11/2012 03:21 AM, 1100110 wrote: > http://svn.dsource.org/projects/gtkd/branches/070125merge/gtkD/src/gdk/Color.d > > > > uint getValue() > { > return (gdkColor.red <<32) | (gdkColor.green << 16) | (gdkColor.blue); > } > > > Just browsing through the source it looks like gtkColor.red is a ushort. > I get this error. > > dmd -O -m64 -Isrc -c src/gdk/Pixbuf.d -ofsrc/gdk/Pixbuf.o > src/gdk/Color.d(231): Error: shift by 32 is outside the range 0..31 > make: *** [src/gdk/Color.o] Error 1 > make: *** Waiting for unfinished jobs.... > ==> ERROR: A failure occurred in build(). > > I get that exact same message no matter which compiler I use. > > Does any > This was a bug in GtkD, getValue needs to return a ulong. The fix has been in the git/svn repo for quite a while now ;). -- Mike Wey |
June 14, 2012 Re: GtkD compile failed. shift by 32 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike Wey | On Mon, 11 Jun 2012 14:05:05 -0500, Mike Wey <mike-wey@example.com> wrote: > On 06/11/2012 03:21 AM, 1100110 wrote: >> http://svn.dsource.org/projects/gtkd/branches/070125merge/gtkD/src/gdk/Color.d >> >> >> >> uint getValue() >> { >> return (gdkColor.red <<32) | (gdkColor.green << 16) | (gdkColor.blue); >> } >> >> >> Just browsing through the source it looks like gtkColor.red is a ushort. >> I get this error. >> >> dmd -O -m64 -Isrc -c src/gdk/Pixbuf.d -ofsrc/gdk/Pixbuf.o >> src/gdk/Color.d(231): Error: shift by 32 is outside the range 0..31 >> make: *** [src/gdk/Color.o] Error 1 >> make: *** Waiting for unfinished jobs.... >> ==> ERROR: A failure occurred in build(). >> >> I get that exact same message no matter which compiler I use. >> >> Does any >> > > This was a bug in GtkD, getValue needs to return a ulong. > The fix has been in the git/svn repo for quite a while now ;). > Yeah, the README for GtkD said to use the packages from the dsource site... Which are the ones that have that bug. Maybe that should not be stated there... Thanks for the info guys! I downloaded from the github and everything works nicely now. Sorry for the stupid question, probably should have just slept instead. =P -- Using Opera's revolutionary email client: http://www.opera.com/mail/ |
Copyright © 1999-2021 by the D Language Foundation