Euphoria
Ticket #800:
Invalid values passed to define_c_func/proc should fail on Unix like OSes
-
Reported by
SDPringle
Oct 20, 2012
We portably specify that we want CDECL convention (indeed the only way we can have portable binary code) and use the same code on different OSes. We do this with a '+'. In particular:
constant get_rtc_value_asm = define_c_func( "", { '+', maddr }, { }, C_INT )
Now if were we expect a '+' there is something else an error occurs in Windows but not LINUX. Also in the form where '+' is specified as the first letter. Linux looks for "+foo" but Windows looks for "foo" and sets the CDECL convention.
Details
1. Comment by SDPringle
Oct 20, 2012
See: hg:euphoria/rev/55971da142d8
changeset: 5784:55971da142d8 branch: 4.0 parent: 5740:76e5e245a4e3 user: Shawn Pringle <shawn.pringle@gmail.com> date: Sat Oct 20 20:05:44 2012 -0300 files: source/be_machine.c tests/t_c_badmachine.d/control.err tests/t_c_badmachine.e description:
- fail on bad input specifying a string for calling convention on UNIX
- fixes ticket 800
2. Comment by SDPringle
May 04, 2018
See: hg:euphoria/rev/7ac22d6df4db
changeset: 6469:7ac22d6df4db branch: 4.0 user: Shawn David Pringle B.Sc. <shawn.pringle@gmail.com> date: Fri May 04 10:38:44 2018 -0300 files: docs/release/4.0.6.txt description:
- added to release notes fixes for ticket 800, ticket 917, and ticket 906