SunOS patch for OpenEuphoria
- Posted by agrellum Sep 27, 2017
- 1332 views
Here is a patch of what I have done so far. Look at it and point me in right direction.
http://openeuphoria.org/pastey/296.wc fixed missing parts
Only 32 bit compile works really good right now.
If I do -std=c99 compile to account for C_ULONGLONG, I get to much stuff to fix.
On a non Windows platform:
mkdir open_euphoria cd open_euphoria hg clone http://scm.openeuphoria.org/hg/euphoria cd ~ place sunos.patch in ~/ patch -p1 < sunos.patch
Some parts of the these patches are good and needed for current openeuphoria.
The patch for check_diffs.sh is just for SunOS. It breaks all other platforms. It is just there to show you how I make it work on SunOS.
I am down to just these counts - compiler warnings.
7 - be_machine.c:2395:2: warning: pointer targets in return differ in signedness [-Wpointer-sign] 7 - be_machine.c:2405:11: warning: pointer targets in passing argument 1 of ‘mprotect’ differ in signedness [-Wpointer-sign] 7 - be_machine.c:2415:11: warning: pointer targets in passing argument 1 of ‘mprotect’ differ in signedness [-Wpointer-sign] 3 - be_rterror.c:1279:27: warning: initialization makes pointer from integer without a cast 2 - be_runtime.c:5487:3: warning: ‘call_back_sym.obj’ may be used uninitialized in this function [-Wmaybe-uninitialized] 99 - global.h:24:0: warning: "_LARGEFILE64_SOURCE" redefined
TESTS down to just 5 of them with errors.
t_callc.e t_callc-bound t_callc-translated ============================================================================ Failed: return type C_ULONGLONG makes unsigned value (0.000000) expected 1.84467440737096e+19 got 5.97571311132213e+17 Failed: return type C_ULONGLONG makes unsigned value (0.000000) expected 1.84467440737096e+19 got 5.94897917328753e+17 Failed: return type C_ULONGLONG makes unsigned value (0.000000) expected 1.84467440737096e+19 got 4294967295 t_declasgn_wrning.e ============================================================================ Failed: with warning += #4 (0.000000) expected "\t<0229>:: t_declasgn.e - module variable 'n0' is not used\n" got "\t<0228>:: t_declasgn.e - module constant 'cmd' is not used\n" Failed: with warning -= (0.000000) expected -1 got "Warning { not_used }:\n" t_literals.e t_literals-bound t_literals-translated ============================================================================ Failed: Avagadro #1 (0.000000) expected 6.022141e+23 got 6.022141e+23 Failed: Avagadro #1 (0.000000) expected 6.022141e+23 got 6.022141e+23 Failed: Avagadro #1 (0.000000) expected 6.022141e+23 got 6.022141e+23 t_socket.e t_socket-bound t_socket-translated ============================================================================ Failed: get_option #3 (0.000000) expected 1 got 4 Failed: get_option #5 (0.000000) expected 1 got 8 Failed: get_option #3 (0.000000) expected 1 got 4 Failed: get_option #5 (0.000000) expected 1 got 8 Failed: get_option #3 (0.000000) expected 1 got 4 Failed: get_option #5 (0.000000) expected 1 got 8 t_warning.e ============================================================================ Failed: normal: Calls that might get skipped by short-circuit evaluation are warned about (0.000000) expected 1 got 0 Failed: normal: Built-in chosen over declared routine gets a warning (0.000000) expected 1 got 0 Failed: normal: statement after abort() will never be executed (0.000000) expected 0 got 1 Failed: strict: Calls that might get skipped by short-circuit evaluation are warned about (0.000000) expected 1 got 0 Failed: strict: Built-in chosen over declared routine gets a warning (0.000000) expected 1 got 0 Failed: strict: statement after abort() will never be executed (0.000000) expected 0 got 1 Overall: Total Tests: 14767 Failed: 0020 Passed: 14747 Time: 68.550000 Euphoria Interpreter v4.1.0 development
TESTS fail t_socket.e not new http://openeuphoria.org/ticket/814.wc