All the test cases:
Main program =build/release-optimized/test/regress/rt/union_constructors-04
Processing library std
Can't find name stdlib_h in env
Can't find name stdlib_h in env
Main program bound
~/felix>grep stdlib_h src/lib/std/*
src/lib/std/c_hack.flx: fun malloc: int -> address = 'malloc($1)' requires
stdlib_h;
src/lib/std/c_hack.flx: proc free: address = 'free($1);' requires stdlib_h;
Oh yes, it is defined but ..:
src/lib/std/io/flx_faio.flx: header stdlib_h = '#include <stdlib.h>';
// malloc, free
it's defined INSIDE Faio.
module Faio {
requires package "demux";
requires package "faio";
open C_hack;
// ....
header stdlib_h = '#include <stdlib.h>'; // malloc, free
So actually there's a bug. Opening C_hack here should have no effect
on the binding of malloc, malloc just shouldn't exist since it's required
tag can't be found... notice Faio is not opened.
It looks like malloc is used anyhow.. and the lack of the tag name simply
means the #include isn't issued (but it is included elsewhere so everything
works).
This seems to be a bug. If something is required and isn't found,
it should be as if it didn't exist, or, bomb out the program .. not
silently allow the function to be used and simply not satisfy
the requirement.
--
john skaller
[email protected]
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language