digitalmars.D.ldc - Working LDC iOS (iPhone) on github
- Dan Olson (64/64) Feb 14 2014 I think the LDC + iOS stuff it is working well enough that others might
- Kai Nacke (5/11) Feb 14 2014 I am really impressed!!!!
- Jacob Carlborg (6/27) Feb 14 2014 If TLS is not natively supported, can it be emulated like DMD currently
- Joakim (5/10) Feb 14 2014 Yes, why can't you just use the TLS support in druntime's
- Dan Olson (5/10) Feb 14 2014 Hi Joakim,
- David Nadlinger (13/16) Feb 15 2014 The big question is how to best implement it, though.
- Jacob Carlborg (14/20) Feb 16 2014 At least DMD had some problems with bracketed sections with the
- David Nadlinger (13/27) Feb 16 2014 Sorry, yes, I just intended to write "special section".
- Jacob Carlborg (20/37) Feb 16 2014 Yes, exactly. But where talking iOS and OS X here ;)
- Dan Olson (22/24) Feb 14 2014 David talked about doing something like that. BTW (and aside), does dmd
- Jacob Carlborg (33/52) Feb 15 2014 Yes, it still emulates. I think we need to decide if we are willing to
- Dan Olson (9/11) Feb 16 2014 I hacked in rudimentary SjLj exception handing code in the ldc/eh.d. It
- Dan Olson (15/22) Feb 17 2014 Nevermind on allowing foreign (i.e. c++) exceptions for now. When I let
- David Nadlinger (8/13) Feb 17 2014 The ARM EABI (at least as far as the GCC runtime goes) doesn't use SLJL,...
- Dan Olson (23/36) Feb 18 2014 Hopefully when I run the phobos unittests in a day or two on iOS, can
- Kai Nacke (5/59) Feb 26 2014 This is one of the release blocking bugs. Please just ignore for
- Dan Olson (10/17) Feb 27 2014 Ok, thanks. I have enough other unittest failures to keep me busy.
- ElvisZhou (3/29) Feb 27 2014 This is really encouraging, I really appreciate every effort
- Szymon Gatner (3/36) Feb 27 2014 +1 !
- Dan Olson (7/41) Feb 28 2014 Nice to know! Funny thing is the main reason I started on this was a
- David Nadlinger (6/11) Feb 27 2014 It's obviously your choice, but I'm not sure whether this should
I think the LDC + iOS stuff it is working well enough that others might have fun with it too. I made a fork of ldc/druntime on github and pushed up changes into branch ios-2.064. It is based on ldc merge-2.064 branch. You will find very few changes were needed to get this far. It has been mostly a game of finding the right recipe and stubbing out missing functions for iOS. What can you do with it? Well, as far as I know, most of D 2.064 appears to work with the exception of exceptions (that came out nice) and thread locals. I am sure there are many pits and holes to fall into though. In general: - TLS support not available so I disabled for now - Threads "work", but there are unfinished pieces and a wumpus hiding here (e.g. not sure what gc will do when it triggers) - You can throw exceptions, but they have a tragic ending - debug info does not work and -g causes link warnings - things are hardcoded for iOS in a few places, so this branch may not work as a native compiler). For example, I had to hardcode real type as a 64-bit double (dmd uses host's long double type for real) To compile the C portions of druntime/phobos, you will need an iPhone SDK downloaded from Apple, which means you need to use OSX (mac) as the host. To actually run on hardware (iPhone 4 in my case) I signed up as an iOS developer. D objs and libs can then be added to an Xcode project and run in the debugger. Follow normal ldc build instructions on D wiki with some differences below. http://wiki.dlang.org/Building_LDC_from_source. Must use llvm-3.4 or newer. I am confguring llvm with all targets enabled (llvm/configure with no options). $ git clone --recursive https://github.com/smolt/ldc.git $ mkdir thumb7-ios-ldc $ cd thumb7-ios-ldc $ cmake -DD_FLAGS='-w;-d;-mtriple=thumbv7-apple-ios5.0.0;-mcpu=cortex-a8;-disable-fp-elim;-float-abi=so tfp;-vectorize-slp' -DD_FLAGS_DEBUG='' -DD_FLAGS_RELEASE='-Os;-release' -DTARGET_C_FLAGS='-target armv7-apple-darwin -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/S Ks/iPhoneOS7.0.sdk' ../ldc $ make Then to compile a simple program with D as the main: $ cat <<XYZZY >hello.d import std.stdio; void main() { writeln("Hello from D"); } XYZZY $ thumb7-ios-ldc/bin/ldc2 -mtriple=thumbv7-apple-ios5.0.0 -disable-fp-elim -float-abi=softfp -Os -c hello.d Make a simple (empty) Xcode project for iOS and remove the objc main.m (or disabled it). Then add the resulting hello.o plus thumb7-ios-ldc-3.4/lib/libphobos-ldc-debug.a. There are no debug symbols but at least asserts are enabled, which I think is a good thing in this new world. Build and run. Alternatively, you can use the objc main() and have it call an extern (C) D function. But remember to call rt_init() first thing. You can do it the objc main() as in: int main() { extern int rt_init(); extern void someDfunc(); if (rt_init()) { someDfunc(); } ... } I hope it works for somebody besides me. Thanks to everyone who helped so far. -- Dan
Feb 14 2014
Hi Dan! On Friday, 14 February 2014 at 09:02:22 UTC, Dan Olson wrote:I think the LDC + iOS stuff it is working well enough that others might have fun with it too. [...] I hope it works for somebody besides me. Thanks to everyone who helped so far.I am really impressed!!!! Regards, Kai
Feb 14 2014
On 2014-02-14 10:02, Dan Olson wrote:I think the LDC + iOS stuff it is working well enough that others might have fun with it too. I made a fork of ldc/druntime on github and pushed up changes into branch ios-2.064. It is based on ldc merge-2.064 branch. You will find very few changes were needed to get this far. It has been mostly a game of finding the right recipe and stubbing out missing functions for iOS. What can you do with it? Well, as far as I know, most of D 2.064 appears to work with the exception of exceptions (that came out nice) and thread locals. I am sure there are many pits and holes to fall into though. In general: - TLS support not available so I disabled for nowIf TLS is not natively supported, can it be emulated like DMD currently does on OS X?- Threads "work", but there are unfinished pieces and a wumpus hiding here (e.g. not sure what gc will do when it triggers) - You can throw exceptions, but they have a tragic ending - debug info does not work and -g causes link warnings - things are hardcoded for iOS in a few places, so this branch may not work as a native compiler). For example, I had to hardcode real type as a 64-bit double (dmd uses host's long double type for real)I hope it works for somebody besides me. Thanks to everyone who helped so far.This sounds great :) -- /Jacob Carlborg
Feb 14 2014
On Friday, 14 February 2014 at 19:58:45 UTC, Jacob Carlborg wrote:On 2014-02-14 10:02, Dan Olson wrote:Yes, why can't you just use the TLS support in druntime's rt/sections_osx.d? Is it that different on iOS? Nice work, looking forward to checking it out when I try ARM on Android.In general: - TLS support not available so I disabled for nowIf TLS is not natively supported, can it be emulated like DMD currently does on OS X?
Feb 14 2014
"Joakim" <joakim airpost.net> writes:On Friday, 14 February 2014 at 19:58:45 UTC, Jacob Carlborg wrote:Hi Joakim, David suggested we could do that with ldc. I think it is a good approach. http://forum.dlang.org/thread/m2d2k79zsl.fsf comcast.net?page=3#post-mailman.287.1389372405.15871.digitalmars-d-ldc:40puremagic.comIf TLS is not natively supported, can it be emulated like DMD currently does on OS X?Yes, why can't you just use the TLS support in druntime's rt/sections_osx.d? Is it that different on iOS?
Feb 14 2014
On 15 Feb 2014, at 7:58, Dan Olson wrote:David suggested we could do that with ldc. I think it is a good approach. http://forum.dlang.org/thread/m2d2k79zsl.fsf comcast.net?page=3#post-mailman.287.1389372405.15871.digitalmars-d-ldc:40puremagic.comThe big question is how to best implement it, though. From an LDC perspective, the best would be to add support for emitting the TLS variables into a bracketed section and inserting runtime calls to access them directly to LLVM; then none of the LDC code (resp. the generated LLVM IR) would actually have to change. That might be too much work for this option to be feasible, though – I never really looked at how the various targets lower TLS accesses (besides Win32/MinGW, where I contributed a few small fixes). I suppose the best way to go about this would simply be to ask for advice on llvm-dev, probably somebody can judge the involved trade-offs much better than I can. David
Feb 15 2014
On Saturday, 15 February 2014 at 15:13:07 UTC, David Nadlinger wrote:The big question is how to best implement it, though. From an LDC perspective, the best would be to add support for emitting the TLS variables into a bracketed section and inserting runtime calls to access them directly to LLVM; then none of the LDC code (resp. the generated LLVM IR) would actually have to change.At least DMD had some problems with bracketed sections with the linker. DMD doesn't use bracketed sections anymore. Why do you need bracketed sections? At least OS X has API's available to access a specific sections. I would assume iOS also has does API's. Would it be possible to output OS X native TLS for iOS? Does LLVM allow that? If that's possible we could experiment with adding the TLS code from the dynamic linker to druntime and see what happens. Theoretically it should work. It don't think the dynamic linker does anything that a regular application can't do. -- /Jacob Carlborg
Feb 16 2014
On 16 Feb 2014, at 13:43, Jacob Carlborg wrote:On Saturday, 15 February 2014 at 15:13:07 UTC, David Nadlinger wrote:Sorry, yes, I just intended to write "special section". But as a side note, Darwin's dyld is more or less alone in offering that functionality. On other OSes, DMD still uses bracketed sections for various tasks.From an LDC perspective, the best would be to add support for emitting the TLS variables into a bracketed section and inserting runtime calls to access them directly to LLVM; then none of the LDC code (resp. the generated LLVM IR) would actually have to change.At least DMD had some problems with bracketed sections with the linker. DMD doesn't use bracketed sections anymore. Why do you need bracketed sections? At least OS X has API's available to access a specific sections.Would it be possible to output OS X native TLS for iOS? Does LLVM allow that? If that's possible we could experiment with adding the TLS code from the dynamic linker to druntime and see what happens. Theoretically it should work. It don't think the dynamic linker does anything that a regular application can't do.I was thinking about that as well, yes. In theory, it should be possible to adapt the code in LLVM without too much of a hassle (I don't think there would be any problems with x86-specific relocations or so), but as I said, I haven't looked into how the TLS sections are emitted when writing to Mach-O at all. Another thing to keep in mind would be that we probably can't use some of the APIs due to App Store restrictions… David
Feb 16 2014
On Sunday, 16 February 2014 at 13:19:00 UTC, David Nadlinger wrote:Sorry, yes, I just intended to write "special section". But as a side note, Darwin's dyld is more or less alone in offering that functionality. On other OSes, DMD still uses bracketed sections for various tasks.Yes, exactly. But where talking iOS and OS X here ;)I was thinking about that as well, yes. In theory, it should be possible to adapt the code in LLVM without too much of a hassle (I don't think there would be any problems with x86-specific relocations or so), but as I said, I haven't looked into how the TLS sections are emitted when writing to Mach-O at all. Another thing to keep in mind would be that we probably can't use some of the APIs due to App Store restrictions…_dyld_register_func_for_add_image and other similar functions are documented here [1], which I assume means they are public API and are allowed to be used (I have not read the App Store license). But LDC already uses a function to iterate TLS data on OS X in the runtime (if its still is used) which not documented. Phobos also uses _NSGetEnviron which is not documented. The first could be replaced with some of these functions [1]. The second could perhaps be replaced with a C main function accepting the environment variables as a third parameter. BTW, the _dyld_register_func_for_add_image is not safe to use with dynamic libraries, since it's not possible to unregister the callback. There is another undocumented function that can be used instead. [1] https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/MachOReference/Reference/reference.html -- /Jacob Carlborg
Feb 16 2014
Jacob Carlborg <doob me.com> writes:If TLS is not natively supported, can it be emulated like DMD currently does on OS X?David talked about doing something like that. BTW (and aside), does dmd still emulate tls on OSX? If so, is someone planning to switch it to OSX's thread locals? Jacob, it looks like you have been playing with D on Mac for awhile. I searched D forums for iOS or Mac stuff and your name comes up. I think as a next step (pun intended) it would be cool to try something you have done to interface D with the objc world. For now, I am just creating C functions as needed to glue objc messages to D. Also started playing some with the ObjC Runtime calls like objc_msgSend(obj, sel_registerName("release")) to do stuff like [obj release]; That could go along way with some handy wrapper functions. Then there is the project I think you mentioned to make D compiler directly support objc interfaces. Would it be much work to fold it into the current compiler? Anyway, looking forward to any tools or thoughts you have. For now, exception handling seems the most useful missing feature. So I am looking at that. -- Dan
Feb 14 2014
On 2014-02-15 07:44, Dan Olson wrote:David talked about doing something like that. BTW (and aside), does dmd still emulate tls on OSX?Yes, it still emulates. I think we need to decide if we are willing to remove the support for OS X 10.6. I want to add that I think it's theoretically possible to implement the TLS support code located in the dynamic linker in druntime. This would allow us to move to native TLS on OS X 10.7 while still supporting 10.6, with the same code.If so, is someone planning to switch it to OSX's thread locals?I would guess that's the plan, eventually. It's basically a requirement for making dynamic libraries work. It's the same as with everything else, someone needs to commit time to make it happen.Jacob, it looks like you have been playing with D on Mac for awhile.I certainly have :)I searched D forums for iOS or Mac stuff and your name comes up. I think as a next step (pun intended) it would be cool to try something you have done to interface D with the objc world. For now, I am just creating C functions as needed to glue objc messages to D. Also started playing some with the ObjC Runtime calls like objc_msgSend(obj, sel_registerName("release")) to do stuff like [obj release]; That could go along way with some handy wrapper functions. Then there is the project I think you mentioned to make D compiler directly support objc interfaces.I just have started to work on the 64bit support for D/Objective-C [1] (same runtime as iOS).Would it be much work to fold it into the current compiler?Unfortunately yes. The 32bit version is currently very usable. It basically only missing support for categories and blocks. For the 64bit version only the most basic functionally like: calling instance methods, class methods and implementing Objective-C classes on the D side. What's missing in the 64bit version is: * Categories * Protocols (interfaces) * Catching exceptions (I have a workaround for this that I think is working) * Properties * All that's missing in the 32bit version Non of the version supports ARC. Except from all the missing features it would most likely require quite a lot of work to get the code approved and merged. There are quite a lot of changes in most of the phases in the compiler. Adding new syntax to the language is a high barrier. If you want to use D/Objective-C you can DStep [2] to create bindings.Anyway, looking forward to any tools or thoughts you have. For now, exception handling seems the most useful missing feature. So I am looking at that.[1] https://github.com/jacob-carlborg/dmd/tree/d-objc-64 [2] https://github.com/jacob-carlborg/dstep -- /Jacob Carlborg
Feb 15 2014
For now, exception handling seems the most useful missing feature. So I am looking at that.I hacked in rudimentary SjLj exception handing code in the ldc/eh.d. It is kind of ugly, but it works on my D test cases (tried all of the try/catch try/finally scope(exit) and friends, and RAII structs). It should also allow cleanup handlers when C++ exceptions (foreign ex) bubble up, but haven't tested that yet. Again, only testing on my iPhone 4 (armv7). I will push up changes ios-2.064 branch after I make it less ugly. -- Dan
Feb 16 2014
Dan Olson <zans.is.for.cans yahoo.com> writes:Nevermind on allowing foreign (i.e. c++) exceptions for now. When I let a c++ exception bubble up through D stack, scope(success) triggers instead of scope(failure). I see why now. scope(failure) is essentially a catch(Throwable e) throw(t) which isn't selected. It would be cool to make it work, but not important, so I'll put it aside. However, D being a system language, it _could_ have a mechanism for catching non-D exceptions that escape from another language. David, a question. I read https://github.com/ldc-developers/ldc/issues/489. What is the symptom? The iOS sjlj unwinder is different, but I'd like a test case to see. https://www.opensource.apple.com/source/libunwind/libunwind-35.1/src/Unwind-sjlj.c -- DanFor now, exception handling seems the most useful missing feature. So I am looking at that.I hacked in rudimentary SjLj exception handing code in the ldc/eh.d. It is kind of ugly, but it works on my D test cases (tried all of the try/catch try/finally scope(exit) and friends, and RAII structs). It should also allow cleanup handlers when C++ exceptions (foreign ex) bubble up, but haven't tested that yet.
Feb 17 2014
On 17 Feb 2014, at 18:04, Dan Olson wrote:David, a question. I read https://github.com/ldc-developers/ldc/issues/489. What is the symptom? The iOS sjlj unwinder is different, but I'd like a test case to see.The ARM EABI (at least as far as the GCC runtime goes) doesn't use SLJL, but DWARF EH with a slightly different unwinding process. I don't have reduced test cases for the remaining failures, unfortunately. It's just clear that EH is still not working correctly in all cases when running the Phobos test suite (you'll see crashes in _Unwind_RaiseException or related druntime abort()s). David
Feb 17 2014
"David Nadlinger" <code klickverbot.at> writes:On 17 Feb 2014, at 18:04, Dan Olson wrote:Hopefully when I run the phobos unittests in a day or two on iOS, can see if I run into anything related. When you say Phobos test suite, do you just mean compiling phobos with -unittest and running all the unittest blocks? I don't know a way to run a bunch of little unittest programs on iOS, so cooked up an approach that just bakes all unittests into one app. Maybe there are better ways, if someone with iOS dev experience has some ideas, I'd like to know. Recipe: - Add -unittest to druntime library build flags. - Have main program iterate over ModuleInfo, calling unitTest func if set. - Link with flag -force_load libdruntime-ldc-debug.a to pull every obj file into exe. 33 unittests ran and passed. Two failed because they don't compile with -unittest flag. I will have to take an inventory because a simple grep of druntime counts 38 files with 'unittest'. thread.d fails to compile because I didn't finish fiber support for iOS, and then this wierd one: /Users/dan/projects/ldc/ldc-git/runtime/druntime/src/rt/aaA.d(565): Error: Function type does not match previously declared function with the same mangled name: _d_assocarrayliteralTX -- DanDavid, a question. I read https://github.com/ldc-developers/ldc/issues/489. What is the symptom? The iOS sjlj unwinder is different, but I'd like a test case to see.The ARM EABI (at least as far as the GCC runtime goes) doesn't use SLJL, but DWARF EH with a slightly different unwinding process. I don't have reduced test cases for the remaining failures, unfortunately. It's just clear that EH is still not working correctly in all cases when running the Phobos test suite (you'll see crashes in _Unwind_RaiseException or related druntime abort()s).
Feb 18 2014
On Tuesday, 18 February 2014 at 08:24:30 UTC, Dan Olson wrote:"David Nadlinger" <code klickverbot.at> writes:This is one of the release blocking bugs. Please just ignore for now. Regards, KaiOn 17 Feb 2014, at 18:04, Dan Olson wrote:Hopefully when I run the phobos unittests in a day or two on iOS, can see if I run into anything related. When you say Phobos test suite, do you just mean compiling phobos with -unittest and running all the unittest blocks? I don't know a way to run a bunch of little unittest programs on iOS, so cooked up an approach that just bakes all unittests into one app. Maybe there are better ways, if someone with iOS dev experience has some ideas, I'd like to know. Recipe: - Add -unittest to druntime library build flags. - Have main program iterate over ModuleInfo, calling unitTest func if set. - Link with flag -force_load libdruntime-ldc-debug.a to pull every obj file into exe. 33 unittests ran and passed. Two failed because they don't compile with -unittest flag. I will have to take an inventory because a simple grep of druntime counts 38 files with 'unittest'. thread.d fails to compile because I didn't finish fiber support for iOS, and then this wierd one: /Users/dan/projects/ldc/ldc-git/runtime/druntime/src/rt/aaA.d(565): Error: Function type does not match previously declared function with the same mangled name: _d_assocarrayliteralTXDavid, a question. I read https://github.com/ldc-developers/ldc/issues/489. What is the symptom? The iOS sjlj unwinder is different, but I'd like a test case to see.The ARM EABI (at least as far as the GCC runtime goes) doesn't use SLJL, but DWARF EH with a slightly different unwinding process. I don't have reduced test cases for the remaining failures, unfortunately. It's just clear that EH is still not working correctly in all cases when running the Phobos test suite (you'll see crashes in _Unwind_RaiseException or related druntime abort()s).
Feb 26 2014
"Kai Nacke" <kai redstar.de> writes:On Tuesday, 18 February 2014 at 08:24:30 UTC, Dan Olson wrote:Ok, thanks. I have enough other unittest failures to keep me busy. Many are floating point comparson related, I am guessing because of cross compiling from x64 to arm. Some are memory corruption, I think due to gc not setup correctly. They go away when I disable GC. The sjlj exception handling for arm/iOS is working, that is encouraging. My iOS phobos/druntime unittest tally so far is: 67 pass 15 fail 5 not run (compiler error with -unittest option)/Users/dan/projects/ldc/ldc-git/runtime/druntime/src/rt/aaA.d(565): Error: Function type does not match previously declared function with the same mangled name: _d_assocarrayliteralTXThis is one of the release blocking bugs. Please just ignore for now. Regards, Kai
Feb 27 2014
On Thursday, 27 February 2014 at 08:13:00 UTC, Dan Olson wrote:"Kai Nacke" <kai redstar.de> writes:This is really encouraging, I really appreciate every effort you've made!On Tuesday, 18 February 2014 at 08:24:30 UTC, Dan Olson wrote:Ok, thanks. I have enough other unittest failures to keep me busy. Many are floating point comparson related, I am guessing because of cross compiling from x64 to arm. Some are memory corruption, I think due to gc not setup correctly. They go away when I disable GC. The sjlj exception handling for arm/iOS is working, that is encouraging. My iOS phobos/druntime unittest tally so far is: 67 pass 15 fail 5 not run (compiler error with -unittest option)/Users/dan/projects/ldc/ldc-git/runtime/druntime/src/rt/aaA.d(565): Error: Function type does not match previously declared function with the same mangled name: _d_assocarrayliteralTXThis is one of the release blocking bugs. Please just ignore for now. Regards, Kai
Feb 27 2014
On Thursday, 27 February 2014 at 13:16:25 UTC, ElvisZhou wrote:On Thursday, 27 February 2014 at 08:13:00 UTC, Dan Olson wrote:+1 ! I always get goosebumps when this thread shows unread posts ;)"Kai Nacke" <kai redstar.de> writes:This is really encouraging, I really appreciate every effort you've made!On Tuesday, 18 February 2014 at 08:24:30 UTC, Dan Olson wrote:Ok, thanks. I have enough other unittest failures to keep me busy. Many are floating point comparson related, I am guessing because of cross compiling from x64 to arm. Some are memory corruption, I think due to gc not setup correctly. They go away when I disable GC. The sjlj exception handling for arm/iOS is working, that is encouraging. My iOS phobos/druntime unittest tally so far is: 67 pass 15 fail 5 not run (compiler error with -unittest option)/Users/dan/projects/ldc/ldc-git/runtime/druntime/src/rt/aaA.d(565): Error: Function type does not match previously declared function with the same mangled name: _d_assocarrayliteralTXThis is one of the release blocking bugs. Please just ignore for now. Regards, Kai
Feb 27 2014
"Szymon Gatner" <noemail gmail.com> writes:On Thursday, 27 February 2014 at 13:16:25 UTC, ElvisZhou wrote:Nice to know! Funny thing is the main reason I started on this was a lack of snow in the mountains (I like snowboarding), so I had some "free" time waiting for ski areas to open. Now that this iOS project is started, it is easier to pick it back up for an hour here and there. -- DanOn Thursday, 27 February 2014 at 08:13:00 UTC, Dan Olson wrote:+1 ! I always get goosebumps when this thread shows unread posts ;)"Kai Nacke" <kai redstar.de> writes:This is really encouraging, I really appreciate every effort you've made!On Tuesday, 18 February 2014 at 08:24:30 UTC, Dan Olson wrote:Ok, thanks. I have enough other unittest failures to keep me busy. Many are floating point comparson related, I am guessing because of cross compiling from x64 to arm. Some are memory corruption, I think due to gc not setup correctly. They go away when I disable GC. The sjlj exception handling for arm/iOS is working, that is encouraging. My iOS phobos/druntime unittest tally so far is: 67 pass 15 fail 5 not run (compiler error with -unittest option)/Users/dan/projects/ldc/ldc-git/runtime/druntime/src/rt/aaA.d(565): Error: Function type does not match previously declared function with the same mangled name: _d_assocarrayliteralTXThis is one of the release blocking bugs. Please just ignore for now. Regards, Kai
Feb 28 2014
On 26 Feb 2014, at 19:11, Kai Nacke wrote:On Tuesday, 18 February 2014 at 08:24:30 UTC, Dan Olson wrote:It's obviously your choice, but I'm not sure whether this should actually be a release-blocking bug or if it would make more sense to just comment out that unit test (IIRC there are some commented out already) and ignore the mismatch until we start work on full-LTO builds. David/Users/dan/projects/ldc/ldc-git/runtime/druntime/src/rt/aaA.d(565): Error: Function type does not match previously declared function with the same mangled name: _d_assocarrayliteralTXThis is one of the release blocking bugs. Please just ignore for now.
Feb 27 2014