#879 closed defect (invalid)
Tests: Assert failure in library-test.scm on MinGW
Reported by: | Leonardo Valeri Manera | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 4.9.0 |
Component: | unknown | Version: | 4.7.x |
Keywords: | Cc: | ||
Estimated difficulty: |
Description
"gcc" "a.c" -o "a.o" -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -march=native -O2 -IC:/Dev/MinGW32/include -IC:/Dev/GnuWin32/include -I.. -I"C:/Dev/Chicken/include/chicken" rm a.c "gcc" "a.o" -o "a.out" -Wl,--enable-auto-import -LC:/Dev/MinGW32/lib -LC:/Dev/GnuWin32/lib -L.. -L"C:/Dev/Chicken/lib" -lchicken -lm -lws2_32 rm a.o Error: (library-tests.scm:204) assertion failed: (= (atan 42. 1.2) (fpatan2 42. 1.2))
Some naive testing of the above in csi and csc yields identical numbers from both functions. MinGW is lastest stable.
Attachments (2)
Change History (10)
Changed 12 years ago by
comment:1 Changed 12 years ago by
Since I was unclear in description, this is core @ ac0a3d132f772da5c543288af6d0d33f66c8fecb from Sat, June 30.
comment:2 Changed 12 years ago by
This C output, when compiled with gcc on a BSD box and linked against master's libchicken runs and exits with exit code 0, without printing anything. This is the expected behavior, so the code generation is fine.
comment:3 Changed 12 years ago by
I added
printf("%lf, %lf\n", C_flonum_magnitude(t3), C_flonum_magnitude(t4));
to the else branch as per your request, and manually compiled using the gcc calls from the log:
c:\Dev\_src\chicken\trunk\tests>a.exe -0.000000, 0.000000
Something seems off here ...
comment:4 Changed 12 years ago by
Strangely, the value printed by (print (atan 42. 1.2))
is 1.5422326689561365
in both interpreted and compiled mode...
comment:6 Changed 12 years ago by
comment:7 Changed 12 years ago by
Resolution: | → invalid |
---|---|
Status: | new → closed |
Never mind, we just discussed this and it turns out the -O2 is due to local tweaks to the MingW system that cause it to build with -O2; Chicken doesn't do that by default.
Log of entire make check run.