shen-cl icon indicating copy to clipboard operation
shen-cl copied to clipboard

Lots of warnings when running shen-ecl in OSX

Open tizoc opened this issue 7 years ago • 2 comments

It seems to work fine in that it compiles and executes the code, but it keeps printing warnings constantly:

/private/var/folders/sy/4w247kq176z5n2k37nn3lblw0000gn/T/ecl062dRXZ8B.eclh:25:108: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
{0,0,3,0,ecl_make_fixnum(5),ecl_make_fixnum(4),(cl_objectfn)L1_shen_type_signature_of_shen_prhush_,ECL_NIL,ecl_make_fixnum(-1)},
                                                                                                           ^~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/ecl/16.1.3_2/include/ecl/object.h:131:62: note: expanded from macro 'ecl_make_fixnum'
#define ecl_make_fixnum(n)      ((cl_object)(((cl_fixnum)(n) << 2) | t_fixnum))
                                              ~~~~~~~~~~~~~~ ^
1 warning generated.

It is always the same warning (because of ecl_make_fixnum), which seems to be coming from Clang. I'm not familiar with ECL, is it normal that it is generating and compiling C code while evaluating Shen code?

tizoc avatar Jan 13 '18 03:01 tizoc

I am not able to reproduce with with ECL 16.1.3 built from source on Ubuntu 16.10. And I don't remember this happening on Windows.

I also didn't think bin/ecl/shen would generate C code on the fly while running.

On Ubuntu it does still show ;;; Loading #P"/usr/local/lib/ecl-16.1.3/cmp.fas" for 30 seconds when you start up bin/ecl/shen. I'm still trying to figure out how to fix that in another pull request: #6.

What version of Clang do you have? Is it bundled with ECL?

rkoeninger avatar Jan 13 '18 05:01 rkoeninger

ECL:

> ecl --version
ECL 16.1.3

Clang:

> clang --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

It is not bundled with ECL, it comes from Apple.

I'm trying to find if there is any way to specify the flags being passed to the C compiler, but I haven't found anything yet.

tizoc avatar Jan 13 '18 13:01 tizoc