digitalmars.D - ldc and gdc
- Adam Ruppe (18/18) Aug 04 2011 LDC and GDC are both alive and pretty well up to date with D2. They
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (5/23) Aug 04 2011 On a slightly related note, it would be cool to have LDC and GDC hosted
- Caligo (4/35) Aug 04 2011 is.
- Trass3r (12/15) Aug 04 2011 GDC packages are available for Windoze thx to Daniel Green (and that's
- Trass3r (4/6) Aug 04 2011 Also I guess most people would expect a proper Linux package like a PPA ...
- Adam Ruppe (11/17) Aug 04 2011 I don't know... the gdc itself wasn't so bad (aside from taking forever,
- Trass3r (4/8) Aug 04 2011 phobos is automatically compiled as part of the build process (and
- Adam Ruppe (2/4) Aug 04 2011 For whatever reason, it didn't work on my box :S
- Marco Leise (4/4) Aug 04 2011 By the way... the druntime and phobos patches for LDC - are they
- Jonathan M Davis (6/10) Aug 04 2011 They _can't_ all use the same installations. At minimum, druntime must b...
- Marco Leise (10/20) Aug 04 2011 Thank you for the clarification. My impression was that druntime was
- Jonathan M Davis (20/42) Aug 04 2011 For D1, Phobos and Tango were incompatible, because they used different
- Marco Leise (4/70) Aug 05 2011 I fully agree that Phobos and Tango should be independent from druntime ...
- Jacob Carlborg (6/28) Aug 04 2011 In the future, DVM could be used for this. DVM lets you easily install
- Marco Leise (29/63) Aug 05 2011 I have noticed DVM around.
- Jacob Carlborg (10/40) Aug 06 2011 It seems like DVM and portage/eselect are similar. I think it's a huge
- Marco Leise (8/46) Aug 06 2011 Even if this begins to sound childish, I have to add for completeness sa...
- Christian Manning (3/51) Aug 06 2011 emerge -1 @live-rebuild is very handy for this if you're on the portage
- Kagamin (2/4) Aug 04 2011 Last I checked LDC stood for "Linux D compiler". It was due to some comp...
- Christian Kamm (8/11) Aug 04 2011 I've wondered about that for a while and just checked it:
- bearophile (4/5) Aug 04 2011 The LLVM 3.0 changelog (that's not finished yet) says "LLVM 3.0 will be ...
- David Nadlinger (4/5) Aug 04 2011 The last time I checked, x86_64 SEH support (not for 32 bit) was in the
- Kagamin (3/10) Aug 04 2011 http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-April/039526.html
LDC and GDC are both alive and pretty well up to date with D2. They have some advantages that make them favored to some people. But, they are kinda hard to find and get to a point where you can use them. dmd is trivially easy to "install" and use. You just download it and run, and it just works in the vast majority of cases. Are there binary packages available for their D2 builds, complete with phobos and druntime, for both Windows and Linux? I'd really like to see binary zips of them comparable to dmd in ease of use. Once they exist, can we get them linked to in the main changelog or something similar? Basically, I want them to be mostly equal alternatives to dmd so people can pick from the three with ease. Then, when people complain "gdc is out of date" we can say "actually, it's right there in the change log right next to dmd". When people say "I'd prefer ldc to dmd", we can say "that's ok, it's right there, make any choice you like". It seems to me to be a relatively easy answer to a lot of reddit, etc. questions.
Aug 04 2011
On 04-08-2011 15:43, Adam Ruppe wrote:LDC and GDC are both alive and pretty well up to date with D2. They have some advantages that make them favored to some people. But, they are kinda hard to find and get to a point where you can use them. dmd is trivially easy to "install" and use. You just download it and run, and it just works in the vast majority of cases. Are there binary packages available for their D2 builds, complete with phobos and druntime, for both Windows and Linux? I'd really like to see binary zips of them comparable to dmd in ease of use. Once they exist, can we get them linked to in the main changelog or something similar? Basically, I want them to be mostly equal alternatives to dmd so people can pick from the three with ease. Then, when people complain "gdc is out of date" we can say "actually, it's right there in the change log right next to dmd". When people say "I'd prefer ldc to dmd", we can say "that's ok, it's right there, make any choice you like". It seems to me to be a relatively easy answer to a lot of reddit, etc. questions.On a slightly related note, it would be cool to have LDC and GDC hosted under the GitHub organization. Having everything in one place would make everyone's life easier. I think the LDC folks have been moving towards this. - Alex
Aug 04 2011
On Thu, Aug 4, 2011 at 9:09 AM, Alex R=F8nne Petersen <xtzgzorex gmail.com>= wrote:On 04-08-2011 15:43, Adam Ruppe wrote:is.LDC and GDC are both alive and pretty well up to date with D2. They have some advantages that make them favored to some people. But, they are kinda hard to find and get to a point where you can use them. dmd is trivially easy to "install" and use. You just download it and run, and it just works in the vast majority of cases. Are there binary packages available for their D2 builds, complete with phobos and druntime, for both Windows and Linux? I'd really like to see binary zips of them comparable to dmd in ease of use. Once they exist, can we get them linked to in the main changelog or something similar? Basically, I want them to be mostly equal alternatives to dmd so people can pick from the three with ease. Then, when people complain "gdc is out of date" we can say "actually, it's right there in the change log right next to dmd". When people say "I'd prefer ldc to dmd", we can say "that's ok, it's right there, make any choice you like". It seems to me to be a relatively easy answer to a lot of reddit, etc. questions.On a slightly related note, it would be cool to have LDC and GDC hosted under the GitHub organization. Having everything in one place would make everyone's life easier. I think the LDC folks have been moving towards th=- Alex+1
Aug 04 2011
Are there binary packages available for their D2 builds, complete with phobos and druntime, for both Windows and Linux? I'd really like to see binary zips of them comparable to dmd in ease of use.GDC packages are available for Windoze thx to Daniel Green (and that's really helpful, compiling this yourself is painful). Compiling it on Linux is really straightforward, just follow the build instructions. Don't know if there's a need for prebuilt packages. But I guess I could pack my version upon request. LDC2 is not that user-friendly currently since phobos and druntime aren't included in the main repo. Also they aren't built by default when running make and they aren't installed properly with make install. On the other hand it could be built painlessly on Windows since it uses CMake. So packages would indeed make sense in this case, but I don't know if it's reasonable to do so since LDC2 is still in flux.
Aug 04 2011
Am 04.08.2011, 16:17 Uhr, schrieb Trass3r <un known.com>:Compiling GDC on Linux is really straightforward, just follow the build instructions. Don't know if there's a need for prebuilt packages.Also I guess most people would expect a proper Linux package like a PPA for Ubuntu with automatic updates rather than getting a zip file.
Aug 04 2011
Trass3r wrote:GDC packages are available for Windoze thx to Daniel GreenFantastic! Can we get them linked on the main site's download page?Compiling it on Linux is really straightforward, just follow the build instructions.I don't know... the gdc itself wasn't so bad (aside from taking forever, just waiting on tar zxf for gcc was a huge huge wait) but the instructions didn't even mention the runtime and phobos. I had some weird compile errors on that when I tried. Maybe it's straightforward if you've done it once before, but I don't think it is as a first time user.I don't know if it's reasonable to do so since LDC2 is still in flux.So is dmd!Also I guess most people would expect a proper Linux package like a PPA for Ubuntu with automatic updates rather than getting a zip file.Blargh, I'd prefer a zip to that by a lot, especially since I don't use ubuntu. A zip should work on almost any distribution.
Aug 04 2011
I don't know... the gdc itself wasn't so bad (aside from taking forever, just waiting on tar zxf for gcc was a huge huge wait) but theMake sure you only download the gcc-core package to avoid all the other frontends.instructions didn't even mention the runtime and phobos. I had some weird compile errors on that when I tried.phobos is automatically compiled as part of the build process (and installed as well).
Aug 04 2011
Trass3r wrote:phobos is automatically compiled as part of the build process (and installed as well).For whatever reason, it didn't work on my box :S
Aug 04 2011
By the way... the druntime and phobos patches for LDC - are they applicable to GDC and DMD as well? I'm asking because I could imagine installing druntime, phobos, DMD, GDC and LDC and all three compilers would use the same installation of the standard library.
Aug 04 2011
By the way... the druntime and phobos patches for LDC - are they applicable to GDC and DMD as well? I'm asking because I could imagine installing druntime, phobos, DMD, GDC and LDC and all three compilers would use the same installation of the standard library.They _can't_ all use the same installations. At minimum, druntime must be different for each of them. That's expected and by design. Whether Phobos needs to be different for each or not as far as source goes, I don't know (hopefully not, but there might be a reason why it has to). But since the compiled library includes both druntime and Phobos, that can't be shared. - Jonathan M Davis
Aug 04 2011
Am 04.08.2011, 19:34 Uhr, schrieb Jonathan M Davis <jmdavisProg gmx.com>:Thank you for the clarification. My impression was that druntime was created to make it possible to use either phobos or tango. If the compiled library includes both (with which compiler anyway? both GDC and LDC?) I figure that I could not install any two of the three compilers in their default locations on Linux, correct? If I take the time to create packages for Gentoo for the alternative compilers that is good to know. Symlinks and altered library names for druntime/phobos would be required. But with a mix of DMD1, DMD2, GDC, LDC, Phobos and Tango things could become messy :pBy the way... the druntime and phobos patches for LDC - are they applicable to GDC and DMD as well? I'm asking because I could imagine installing druntime, phobos, DMD, GDC and LDC and all three compilers would use the same installation of the standard library.They _can't_ all use the same installations. At minimum, druntime must be different for each of them. That's expected and by design. Whether Phobos needs to be different for each or not as far as source goes, I don't know (hopefully not, but there might be a reason why it has to). But since the compiled library includes both druntime and Phobos, that can't be shared. - Jonathan M Davis
Aug 04 2011
Am 04.08.2011, 19:34 Uhr, schrieb Jonathan M Davis <jmdavisProg gmx.com>:For D1, Phobos and Tango were incompatible, because they used different runtimes. druntime was created for D2 (from Tango's runtime, I believe) so that it would be possible for Phobos and Tango to coexist in D2 (though Tango hasn't really been officially ported over to D2 yet). So, druntime _does_ help with mixing Phobos and Tango. The problem is that druntime includes stuff which is compiler-specific. It's low-level stuff that must vary from compiler to compiler. As such, dmd, gdc, and ldc are all going to need somewhat different versions of druntime. That shouldn't be true for Phobos, but I don't know what the exact situation with gdc and ldc is. But regardless, you're getting one compiled library out of the deal, so that's going to be compiler-specific. And so yes, mixing dmd, gdc, and ldc on the same system could get a bit interesting in terms of how it affects libraries and whatnot. Adding D1 versions of them into the mix would make it that much worse. But I've never tried gdc or ldc, and I always install dmd in my home directory, so I don't know what it takes to get them all to mix nicely in /usr or /opt. dmd.conf should take of the problem easily enough for dmd, but I don't know how all that works with gdc and ldc. So, if you're looking to manage packages for Gentoo, good luck. It should be quite doable, but there are definite obstacles. - Jonathan M DavisThank you for the clarification. My impression was that druntime was created to make it possible to use either phobos or tango. If the compiled library includes both (with which compiler anyway? both GDC and LDC?) I figure that I could not install any two of the three compilers in their default locations on Linux, correct? If I take the time to create packages for Gentoo for the alternative compilers that is good to know. Symlinks and altered library names for druntime/phobos would be required. But with a mix of DMD1, DMD2, GDC, LDC, Phobos and Tango things could become messyBy the way... the druntime and phobos patches for LDC - are they applicable to GDC and DMD as well? I'm asking because I could imagine installing druntime, phobos, DMD, GDC and LDC and all three compilers would use the same installation of the standard library.They _can't_ all use the same installations. At minimum, druntime must be different for each of them. That's expected and by design. Whether Phobos needs to be different for each or not as far as source goes, I don't know (hopefully not, but there might be a reason why it has to). But since the compiled library includes both druntime and Phobos, that can't be shared. - Jonathan M Davis
Aug 04 2011
Am 04.08.2011, 23:14 Uhr, schrieb Jonathan M Davis <jmdavisProg gmx.com>:I fully agree that Phobos and Tango should be independent from druntime and the compiler. I'd say they must be. Otherwise gdc and ldc would counter the work done on the separation of runtime and standard library.Am 04.08.2011, 19:34 Uhr, schrieb Jonathan M Davis <jmdavisProg gmx.com>:For D1, Phobos and Tango were incompatible, because they used different runtimes. druntime was created for D2 (from Tango's runtime, I believe) so that it would be possible for Phobos and Tango to coexist in D2 (though Tango hasn't really been officially ported over to D2 yet). So, druntime _does_ help with mixing Phobos and Tango. The problem is that druntime includes stuff which is compiler-specific. It's low-level stuff that must vary from compiler to compiler. As such, dmd, gdc, and ldc are all going to need somewhat different versions of druntime. That shouldn't be true for Phobos, but I don't know what the exact situation with gdc and ldc is. But regardless, you're getting one compiled library out of the deal, so that's going to be compiler-specific. And so yes, mixing dmd, gdc, and ldc on the same system could get a bit interesting in terms of how it affects libraries and whatnot. Adding D1 versions of them into the mix would make it that much worse. But I've never tried gdc or ldc, and I always install dmd in my home directory, so I don't know what it takes to get them all to mix nicely in /usr or /opt. dmd.conf should take of the problem easily enough for dmd, but I don't know how all that works with gdc and ldc. So, if you're looking to manage packages for Gentoo, good luck. It should be quite doable, but there are definite obstacles. - Jonathan M Davismust beBy the way... the druntime and phobos patches for LDC - are they applicable to GDC and DMD as well? I'm asking because I could imagine installing druntime, phobos, DMD, GDC and LDC and all three compilers would use the same installation of the standard library.They _can't_ all use the same installations. At minimum, druntimedifferent for each of them. That's expected and by design. WhetherPhobosneeds to be different for each or not as far as source goes, I don'tknow(hopefully not, but there might be a reason why it has to). But sincethecompiled library includes both druntime and Phobos, that can't beshared.- Jonathan M DavisThank you for the clarification. My impression was that druntime was created to make it possible to use either phobos or tango. If the compiled library includes both (with which compiler anyway? both GDC and LDC?) I figure that I could not install any two of the three compilers in their default locations on Linux, correct? If I take the time to create packages for Gentoo for the alternative compilers that is good to know. Symlinks and altered library names for druntime/phobos would be required. But with a mix of DMD1, DMD2, GDC, LDC, Phobos and Tango things could become messy
Aug 05 2011
On 2011-08-04 22:37, Marco Leise wrote:Am 04.08.2011, 19:34 Uhr, schrieb Jonathan M Davis <jmdavisProg gmx.com>:In the future, DVM could be used for this. DVM lets you easily install different versions of a D compiler and switch among them. Although it currently only supports DMD. DVM: https://bitbucket.org/doob/dvm -- /Jacob CarlborgThank you for the clarification. My impression was that druntime was created to make it possible to use either phobos or tango. If the compiled library includes both (with which compiler anyway? both GDC and LDC?) I figure that I could not install any two of the three compilers in their default locations on Linux, correct? If I take the time to create packages for Gentoo for the alternative compilers that is good to know. Symlinks and altered library names for druntime/phobos would be required. But with a mix of DMD1, DMD2, GDC, LDC, Phobos and Tango things could become messy :pBy the way... the druntime and phobos patches for LDC - are they applicable to GDC and DMD as well? I'm asking because I could imagine installing druntime, phobos, DMD, GDC and LDC and all three compilers would use the same installation of the standard library.They _can't_ all use the same installations. At minimum, druntime must be different for each of them. That's expected and by design. Whether Phobos needs to be different for each or not as far as source goes, I don't know (hopefully not, but there might be a reason why it has to). But since the compiled library includes both druntime and Phobos, that can't be shared. - Jonathan M Davis
Aug 04 2011
Am 05.08.2011, 08:35 Uhr, schrieb Jacob Carlborg <doob me.com>:On 2011-08-04 22:37, Marco Leise wrote:I have noticed DVM around. The situation on Gentoo is typically that when there are different versions of the same package, that can be installed in different 'slots'. A dependency of these packages is a control file for eselect, a tool to switch between the currently active implementation (OpenJDK, Sun Java, ...), package version (boost) and several other system configuration options. 'python' for example ends up as a symlink to either python2.7 or python3.1 and there are corresponding directory names for the libraries. It would be ideal if dmd was a symlink to either dmd1 or dmd2 and they would both use a separate dmd.conf. But since the source code is available for a while now that should be easy to make possible. I have never used DVM, but I imagine it works like Maven or the Eclipse updater. So it would download precompiled compilers and libraries into the user's home directory, right? With Gentoo being a source distribution it is usually avoided to download binaries from the internet so I guess DVM would be one of two options to install D compilers on Gentoo. The difference in usage would be like this for an installation: dvm: "dvm install 1.068" portage: "emerge =dmd-1.068" and this for setting the system-wide default compiler: dvm use 1.068 -d eselect dmd set dmd1 Granted, the portage version would only allow one dmd 1 compiler to be installed at a time, but that is ok for most users. I guess in theory there could even be slots for every single release of dmd. This is already done for Boost and automake in practice (with major revisions). OTOH there is no option to set the compiler for the current shell, but maybe "export DMD=dmd1", "make posix.mak" should work.Am 04.08.2011, 19:34 Uhr, schrieb Jonathan M Davis <jmdavisProg gmx.com>:In the future, DVM could be used for this. DVM lets you easily install different versions of a D compiler and switch among them. Although it currently only supports DMD. DVM: https://bitbucket.org/doob/dvmThank you for the clarification. My impression was that druntime was created to make it possible to use either phobos or tango. If the compiled library includes both (with which compiler anyway? both GDC and LDC?) I figure that I could not install any two of the three compilers in their default locations on Linux, correct? If I take the time to create packages for Gentoo for the alternative compilers that is good to know. Symlinks and altered library names for druntime/phobos would be required. But with a mix of DMD1, DMD2, GDC, LDC, Phobos and Tango things could become messy :pBy the way... the druntime and phobos patches for LDC - are they applicable to GDC and DMD as well? I'm asking because I could imagine installing druntime, phobos, DMD, GDC and LDC and all three compilers would use the same installation of the standard library.They _can't_ all use the same installations. At minimum, druntime must be different for each of them. That's expected and by design. Whether Phobos needs to be different for each or not as far as source goes, I don't know (hopefully not, but there might be a reason why it has to). But since the compiled library includes both druntime and Phobos, that can't be shared. - Jonathan M Davis
Aug 05 2011
On 2011-08-05 11:53, Marco Leise wrote:I have noticed DVM around. The situation on Gentoo is typically that when there are different versions of the same package, that can be installed in different 'slots'. A dependency of these packages is a control file for eselect, a tool to switch between the currently active implementation (OpenJDK, Sun Java, ...), package version (boost) and several other system configuration options. 'python' for example ends up as a symlink to either python2.7 or python3.1 and there are corresponding directory names for the libraries. It would be ideal if dmd was a symlink to either dmd1 or dmd2 and they would both use a separate dmd.conf. But since the source code is available for a while now that should be easy to make possible. I have never used DVM, but I imagine it works like Maven or the Eclipse updater. So it would download precompiled compilers and libraries into the user's home directory, right? With Gentoo being a source distribution it is usually avoided to download binaries from the internet so I guess DVM would be one of two options to install D compilers on Gentoo. The difference in usage would be like this for an installation: dvm: "dvm install 1.068" portage: "emerge =dmd-1.068" and this for setting the system-wide default compiler: dvm use 1.068 -d eselect dmd set dmd1 Granted, the portage version would only allow one dmd 1 compiler to be installed at a time, but that is ok for most users. I guess in theory there could even be slots for every single release of dmd. This is already done for Boost and automake in practice (with major revisions). OTOH there is no option to set the compiler for the current shell, but maybe "export DMD=dmd1", "make posix.mak" should work.It seems like DVM and portage/eselect are similar. I think it's a huge advantage to be able to have multiple versions of DMD installed. I use both D1 and D2, (mostly D1). I also think it's especially useful when there's almost always something that breaks in a new release of DMD. Then you can easily go back to an older version if you need to. BTW, Nick Sabalausky is working on making it possible to install DMD from github via DVM. -- /Jacob Carlborg
Aug 06 2011
Am 06.08.2011, 11:16 Uhr, schrieb Jacob Carlborg <doob me.com>:On 2011-08-05 11:53, Marco Leise wrote:Even if this begins to sound childish, I have to add for completeness sake that in portage you have the version number 9999 to indicate a build from online source repositories. So dmd-9999 would be the Github version. The source tree is cloned into /usr/portage/distfiles/git-src/ and updated each time the package is being reinstalled. Additional tools like 'smart-live-rebuild' have emerged to make rebuilding changed repositories easier.I have noticed DVM around. The situation on Gentoo is typically that when there are different versions of the same package, that can be installed in different 'slots'. A dependency of these packages is a control file for eselect, a tool to switch between the currently active implementation (OpenJDK, Sun Java, ...), package version (boost) and several other system configuration options. 'python' for example ends up as a symlink to either python2.7 or python3.1 and there are corresponding directory names for the libraries. It would be ideal if dmd was a symlink to either dmd1 or dmd2 and they would both use a separate dmd.conf. But since the source code is available for a while now that should be easy to make possible. I have never used DVM, but I imagine it works like Maven or the Eclipse updater. So it would download precompiled compilers and libraries into the user's home directory, right? With Gentoo being a source distribution it is usually avoided to download binaries from the internet so I guess DVM would be one of two options to install D compilers on Gentoo. The difference in usage would be like this for an installation: dvm: "dvm install 1.068" portage: "emerge =dmd-1.068" and this for setting the system-wide default compiler: dvm use 1.068 -d eselect dmd set dmd1 Granted, the portage version would only allow one dmd 1 compiler to be installed at a time, but that is ok for most users. I guess in theory there could even be slots for every single release of dmd. This is already done for Boost and automake in practice (with major revisions). OTOH there is no option to set the compiler for the current shell, but maybe "export DMD=dmd1", "make posix.mak" should work.It seems like DVM and portage/eselect are similar. I think it's a huge advantage to be able to have multiple versions of DMD installed. I use both D1 and D2, (mostly D1). I also think it's especially useful when there's almost always something that breaks in a new release of DMD. Then you can easily go back to an older version if you need to. BTW, Nick Sabalausky is working on making it possible to install DMD from github via DVM.
Aug 06 2011
On 06/08/2011 12:02, Marco Leise wrote:Am 06.08.2011, 11:16 Uhr, schrieb Jacob Carlborg <doob me.com>:emerge -1 live-rebuild is very handy for this if you're on the portage alphas.On 2011-08-05 11:53, Marco Leise wrote:Even if this begins to sound childish, I have to add for completeness sake that in portage you have the version number 9999 to indicate a build from online source repositories. So dmd-9999 would be the Github version. The source tree is cloned into /usr/portage/distfiles/git-src/ and updated each time the package is being reinstalled. Additional tools like 'smart-live-rebuild' have emerged to make rebuilding changed repositories easier.I have noticed DVM around. The situation on Gentoo is typically that when there are different versions of the same package, that can be installed in different 'slots'. A dependency of these packages is a control file for eselect, a tool to switch between the currently active implementation (OpenJDK, Sun Java, ...), package version (boost) and several other system configuration options. 'python' for example ends up as a symlink to either python2.7 or python3.1 and there are corresponding directory names for the libraries. It would be ideal if dmd was a symlink to either dmd1 or dmd2 and they would both use a separate dmd.conf. But since the source code is available for a while now that should be easy to make possible. I have never used DVM, but I imagine it works like Maven or the Eclipse updater. So it would download precompiled compilers and libraries into the user's home directory, right? With Gentoo being a source distribution it is usually avoided to download binaries from the internet so I guess DVM would be one of two options to install D compilers on Gentoo. The difference in usage would be like this for an installation: dvm: "dvm install 1.068" portage: "emerge =dmd-1.068" and this for setting the system-wide default compiler: dvm use 1.068 -d eselect dmd set dmd1 Granted, the portage version would only allow one dmd 1 compiler to be installed at a time, but that is ok for most users. I guess in theory there could even be slots for every single release of dmd. This is already done for Boost and automake in practice (with major revisions). OTOH there is no option to set the compiler for the current shell, but maybe "export DMD=dmd1", "make posix.mak" should work.It seems like DVM and portage/eselect are similar. I think it's a huge advantage to be able to have multiple versions of DMD installed. I use both D1 and D2, (mostly D1). I also think it's especially useful when there's almost always something that breaks in a new release of DMD. Then you can easily go back to an older version if you need to. BTW, Nick Sabalausky is working on making it possible to install DMD from github via DVM.
Aug 06 2011
Adam Ruppe Wrote:Are there binary packages available for their D2 builds, complete with phobos and druntime, for both Windows and Linux?Last I checked LDC stood for "Linux D compiler". It was due to some complications with exceptions in llvm on windows, but I'm almost sure clang does it.
Aug 04 2011
Kagamin wrote:Last I checked LDC stood for "Linux D compiler". It was due to some complications with exceptions in llvm on windows, but I'm almost sure clang does it.I've wondered about that for a while and just checked it: Running the clang 2.9 Mingw32 binaries through wine on a simple exception handling test leads to assembly that misses code for the catch clause as well as eh tables (I assume Mingw should use dwarf/unwind based eh). Compiling with -triple i686-pc-win32 leads to an error eh.cc:3:14: error: cannot use 'throw' with exceptions disabled. So I don't think clang can do exceptions on Windows.
Aug 04 2011
Christian Kamm:So I don't think clang can do exceptions on Windows.The LLVM 3.0 changelog (that's not finished yet) says "LLVM 3.0 will be the last release of llvm-gcc.". So I presume to compile C++ code on Windows with LLVM you will only be able to use dragonegg (I am not sure dragonegg supports exceptions on Windows). Bye, bearophile
Aug 04 2011
On 8/4/11 8:18 PM, Christian Kamm wrote:So I don't think clang can do exceptions on Windows.The last time I checked, x86_64 SEH support (not for 32 bit) was in the works by some clang guy, but I didn't have a closer look at the changes. David
Aug 04 2011
David Nadlinger Wrote:On 8/4/11 8:18 PM, Christian Kamm wrote:http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-April/039526.html This guy?So I don't think clang can do exceptions on Windows.The last time I checked, x86_64 SEH support (not for 32 bit) was in the works by some clang guy, but I didn't have a closer look at the changes. David
Aug 04 2011