Euphoria Ticket #800: Invalid values passed to define_c_func/proc should fail on Unix like OSes

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

Type: Bug Report Severity: Major Category: Interpreter
Assigned To: unknown Status: Fixed Reported Release: 4.0.5
Fixed in SVN #: View VCS: none Milestone: 4.0.6

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

Search



Quick Links

User menu

Not signed in.

Misc Menu