digitalmars.D - Pain when changing DMD version...
- JerryR (67/67) Dec 23 2015 A couple of months ago, I decided to upgrade my DMD to a new
- Israel (7/11) Dec 23 2015 Upgrading GTKD is definitely the best route. Most likely GTKD
- JerryR (9/17) Dec 24 2015 Yes that's a way of thinking. But the problem that I'm facing
- John Colvin (3/17) Dec 24 2015 Often when you see breakage it's the compiler actually enforcing
- JerryR (4/6) Dec 24 2015 So that made me think, there is any flag that I could turn on,
- Jack Stouffer (3/10) Dec 24 2015 No. What John Colvin is referring to are bugs in the compiler
- John Colvin (9/16) Dec 24 2015 No, because then we'd be stuck supporting every piece of code
- bachmeier (3/21) Dec 24 2015 But 2.060 was released in 2012. Recent compiler releases have
- JerryR (9/10) Dec 24 2015 Yes I know it's old but and the reason was to avoid breakage that
- bachmeier (5/15) Dec 24 2015 Based on my experience you should not see much breakage going
- John Colvin (5/15) Dec 24 2015 I would strongly recommend moving straight to 2.069. It will take
A couple of months ago, I decided to upgrade my DMD to a new version: 2.066, and today I needed compile that project again, which a year ago I had compiled with DMD 2.060. Now if you look below you will see the errors that I'm getting with changing from DMD 2.060 to 2.066, and all the errors are from GTKD, not my program.... yet! Well I'm bit disappointed and a bit lost in what to do, I don't know if I go back to 2.060 or upgrade the GTKD and I cross my fingers for my program still working. - What you used to do in cases like this? Errors when changing from DMD 2.060 to 2.066: C:\gtkd\src\gtkc\gtktypes.d(283): Error: enum member gtkc.gtktypes.GtkRcTokenTyp e.INCLUDE initialization with (GtkRcTokenType.INVALID + 1) causes overflow for t ype 'int' C:\gtkd\src\gtkc\gtktypes.d(2184): Error: cannot implicitly convert expression ( 16) of type int to GParamFlags C:\gtkd\src\gtk\Widget.d(239): Error: cannot modify 'this' reference C:\gtkd\src\gtk\Widget.d(242): Error: an earlier return statement skips construc tor C:\gtkd\src\glib\StringG.d(101): Error: cannot modify 'this' reference C:\gtkd\src\gobject\Closure.d(138): Error: cannot modify 'this' reference C:\gtkd\src\gobject\ObjectG.d(171): Error: cannot modify 'this' reference C:\gtkd\src\gobject\ObjectG.d(238): Error: struct gtkc.Loader.Linker member load edLibraries is not accessible C:\gtkd\src\gobject\ParamSpec.d(110): Error: cannot modify 'this' reference C:\gtkd\src\gobject\Value.d(124): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Pixbuf.d(131): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Pixbuf.d(138): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Pixbuf.d(141): Error: an earlier return statement skips construc tor C:\gtkd\src\glib\ErrorG.d(223): Error: cannot modify 'this' reference C:\gtkd\src\gdkpixbuf\PixbufFormat.d(138): Error: cannot modify 'this' reference C:\gtkd\src\glib\ListSG.d(122): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Drawable.d(160): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Drawable.d(167): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Drawable.d(170): Error: an earlier return statement skips constr uctor C:\gtkd\src\gdk\Display.d(121): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Display.d(128): Error: cannot modify 'this' reference C:\gtkd\src\gdk\Display.d(131): Error: an earlier return statement skips constru ctor C:\gtkd\src\gdk\Screen.d(140): Error: cannot modify 'this' reference Jerry.
Dec 23 2015
On Thursday, 24 December 2015 at 04:06:40 UTC, JerryR wrote:A couple of months ago, I decided to upgrade my DMD to a new version: 2.066, and today I needed compile that project again, which a year ago I had compiled with DMD 2.060. [...]Upgrading GTKD is definitely the best route. Most likely GTKD will have done some changes since the last time you used it so even if you upgrade GTKD you will still get errors but at least GTKD will now correspond to the compiler version so your errors will be fixable on your projects side and you wont have to fix anything on the library's side.
Dec 23 2015
On Thursday, 24 December 2015 at 05:50:06 UTC, Israel wrote:On Thursday, 24 December 2015 at 04:06:40 UTC, JerryR wrote:Yes that's a way of thinking. But the problem that I'm facing right now is that I haven't tried to compile the others projects yet, so I may get some other errors too. I usually see people on forums and reddit/hackernews complaining about Rust and the breakage along the different versions, back then they had not released the version 1.00 yet. So I wasn't expecting breakage along 2.XX in D. JerryR.A couple of months ago, I decided to upgrade my DMD to a new version: 2.066, and today I needed compile that project again, which a year ago I had compiled with DMD 2.060. [...]Upgrading GTKD is definitely the best route... ...you wont have to fix anything on the library's side.
Dec 24 2015
On Thursday, 24 December 2015 at 13:16:02 UTC, JerryR wrote:On Thursday, 24 December 2015 at 05:50:06 UTC, Israel wrote:Often when you see breakage it's the compiler actually enforcing a pre-existing rule that the code in question broke.On Thursday, 24 December 2015 at 04:06:40 UTC, JerryR wrote:Yes that's a way of thinking. But the problem that I'm facing right now is that I haven't tried to compile the others projects yet, so I may get some other errors too. I usually see people on forums and reddit/hackernews complaining about Rust and the breakage along the different versions, back then they had not released the version 1.00 yet. So I wasn't expecting breakage along 2.XX in D. JerryR.[...]Upgrading GTKD is definitely the best route... ...you wont have to fix anything on the library's side.
Dec 24 2015
On Thursday, 24 December 2015 at 14:48:46 UTC, John Colvin wrote:Often when you see breakage it's the compiler actually enforcing a pre-existing rule that the code in question broke.So that made me think, there is any flag that I could turn on, and pass by over those errors? JerryR.
Dec 24 2015
On Thursday, 24 December 2015 at 17:20:02 UTC, JerryR wrote:On Thursday, 24 December 2015 at 14:48:46 UTC, John Colvin wrote:No. What John Colvin is referring to are bugs in the compiler that were fixed since 2.060.Often when you see breakage it's the compiler actually enforcing a pre-existing rule that the code in question broke.So that made me think, there is any flag that I could turn on, and pass by over those errors? JerryR.
Dec 24 2015
On Thursday, 24 December 2015 at 17:20:02 UTC, JerryR wrote:On Thursday, 24 December 2015 at 14:48:46 UTC, John Colvin wrote:No, because then we'd be stuck supporting every piece of code that used to compile, whether or not it was ever legal code. Illegal code that compiles is a bug; bugs must be fixed. There are some changes that could be handled in the way you describe, e.g. the -dip25 flag. Doing more of these risks getting in to complicated interactions between them. It's a reasonable request, but it's not going to happen except in carefully limited cases.Often when you see breakage it's the compiler actually enforcing a pre-existing rule that the code in question broke.So that made me think, there is any flag that I could turn on, and pass by over those errors? JerryR.
Dec 24 2015
On Thursday, 24 December 2015 at 13:16:02 UTC, JerryR wrote:On Thursday, 24 December 2015 at 05:50:06 UTC, Israel wrote:But 2.060 was released in 2012. Recent compiler releases have been much more stable, in terms of not breaking much working code.On Thursday, 24 December 2015 at 04:06:40 UTC, JerryR wrote:Yes that's a way of thinking. But the problem that I'm facing right now is that I haven't tried to compile the others projects yet, so I may get some other errors too. I usually see people on forums and reddit/hackernews complaining about Rust and the breakage along the different versions, back then they had not released the version 1.00 yet. So I wasn't expecting breakage along 2.XX in D. JerryR.A couple of months ago, I decided to upgrade my DMD to a new version: 2.066, and today I needed compile that project again, which a year ago I had compiled with DMD 2.060. [...]Upgrading GTKD is definitely the best route... ...you wont have to fix anything on the library's side.
Dec 24 2015
On Thursday, 24 December 2015 at 16:05:18 UTC, bachmeier wrote:But 2.060 was released in 2012...Yes I know it's old but and the reason was to avoid breakage that already had happened before. I know that sometimes this (Breakage) is inevitable as the language grows, but my concern here is that the language isn't new, and it's in version +2, and again I was changing from 2.060 to 2.066... which looking now is already lagged since the new version is 2.069. JerryR.
Dec 24 2015
On Thursday, 24 December 2015 at 17:17:39 UTC, JerryR wrote:On Thursday, 24 December 2015 at 16:05:18 UTC, bachmeier wrote:Based on my experience you should not see much breakage going from 2.066 to 2.069. When I moved from 2.062 to 2.064 there were a lot of problems. I don't expect to see that going forward. The quality of releases AFAICT is much better today.But 2.060 was released in 2012...Yes I know it's old but and the reason was to avoid breakage that already had happened before. I know that sometimes this (Breakage) is inevitable as the language grows, but my concern here is that the language isn't new, and it's in version +2, and again I was changing from 2.060 to 2.066... which looking now is already lagged since the new version is 2.069. JerryR.
Dec 24 2015
On Thursday, 24 December 2015 at 17:17:39 UTC, JerryR wrote:On Thursday, 24 December 2015 at 16:05:18 UTC, bachmeier wrote:I would strongly recommend moving straight to 2.069. It will take very little extra effort compared to going to 2.066 and there's been a lot of improvements and bugfixes since then. Some of the failures to compile you're seeing might even be bugs in 2.066!But 2.060 was released in 2012...Yes I know it's old but and the reason was to avoid breakage that already had happened before. I know that sometimes this (Breakage) is inevitable as the language grows, but my concern here is that the language isn't new, and it's in version +2, and again I was changing from 2.060 to 2.066... which looking now is already lagged since the new version is 2.069. JerryR.
Dec 24 2015