Merge: Use `UInt32` to manipulate Unicode chars and support 32 bits platforms
authorJean Privat <jean@pryen.org>
Fri, 10 Feb 2017 16:00:14 +0000 (11:00 -0500)
committerJean Privat <jean@pryen.org>
Fri, 10 Feb 2017 16:00:14 +0000 (11:00 -0500)
Unicode support was broken on 32 bits platforms and anywhere a C `long` was on 32 bits (such as 64 bits Windows). This caused issues when compiling Nit tools.

This PR modifies the critical code in order to use `UInt32` instead of `Int` to fit all the 32 bits of Unicode chars. To do so, the first commit inverts the dependency order of the modules `fixed_int` and `text` so that `text` becomes a client of `fixed_int`. Also, update how constants are declared and fix a few implicit cast warnings.

Fix Debian 32 bits support #2355 after a c_src regen.

Fix #1945 Unicode support on iOS.

Allows to bootstrap under Windows with other minor changes (for another PR).

Reported-by: Alexandre Blondin Massé <alexandre.blondin.masse@gmail.com>

Pull-Request: #2363


Trivial merge