Working LDC iOS (iPhone) on github

Dan Olson zans.is.for.cans at yahoo.com
Tue Feb 18 00:24:29 PST 2014


"David Nadlinger" <code at klickverbot.at> writes:

> 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).
>

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

-- 
Dan



More information about the digitalmars-d-ldc mailing list