mono/mono — pull request #1112 by ztzg (2014-06-19 15:04:57+00:00)
Title: icall: Use mono_strtod on non-Android ARM platforms

Mono's `Double.Parse` uses `mono_strtod` (a non-locale-aware version of
`strtod`) on most platforms, except on ARM, where it directly calls the
platform's `strtod`—which incidentally is the same implementation.

This changes the compile-time conditional to `__arm__ && ANDROID`, to
avoid issues on other ARM operating systems, notably Tizen, where the
`strtod` implementation is more complete.

For example, on Tizen, `LANG=de_DE.UTF-8` results in internal compiler
errors when C# source contains floating-point numbers:

MCS [net_4_5] corlib_test_net_4_5.dll
Test/Mono/DataConvertTest.cs(64,77): error CS0589: Internal \
compiler error during parsingSystem.FormatException: Input \
string was not in the correct format
at System.Double.Parse (System.String s, NumberStyles \
style, IFormatProvider provider) ...

because the German decimal separator is the comma, and successfully
tokenized input cannot be converted to a double.