Commit Graph

52 Commits

Author SHA1 Message Date
Lephenixnoir 6847596bcd
clean up the STATUS file
Also add "!" in front of lines requiring more work to complete for
visual cues of progress.
2021-05-20 16:40:39 +02:00
Lephenixnoir cc03641522
inttypes: add strtoimax and strtoumax 2021-05-20 16:05:20 +02:00
Lephenixnoir bc53e756a8
stdlib: fix saturation in strtol, strtoul, strtoll, strtoull 2021-05-20 15:38:37 +02:00
Lephenixnoir 9de2f5c391
math, fenv, complex: add headers through OpenLibm 2021-05-20 11:35:14 +02:00
Lephenixnoir 99339ae9f4
cmake: add arch-specific support flags 2021-05-20 11:35:14 +02:00
Lephenixnoir ade01b532e
stdlib: add atoi, atol and atoll 2021-05-20 11:35:14 +02:00
Lephenixnoir 06f975f75c
stdlib: add a test strtol, strtoul, strtoll (DONE)
The presumed bug where the value computed without the sign overflows
even though the negative result can be represented is not actually a
problem, because this only happens with signed results and the temporary
value is computed as unsigned (thus with extra range).
2021-05-20 11:03:19 +02:00
Lephenixnoir 5042236392
stdlib: reword strtoull into a generic strto_int
This new function will support strtol, strtoul, and strtoll as well.
2021-05-20 09:23:06 +02:00
Lephenixnoir b1dc3e77de
stdlib: add and test strtoull (DONE) 2021-05-19 21:50:08 +02:00
Lephenixnoir 41ab197ba2
inttypes: imaxabs and imaxdiv are now tested (DONE) 2021-05-19 21:50:02 +02:00
Lephenixnoir 6e66c531ca
stdlib: abs, labs, llabs, div, ldiv and lldiv are now tested (DONE) 2021-05-19 21:50:00 +02:00
Lephenixnoir e4c385d0df
stdlib: safeguard prototypes against user-defined macros 2021-05-19 10:12:41 +02:00
Lephenixnoir 36b4854137
inttypes: add imaxabs and imaxdiv (TEST) 2021-05-18 21:31:00 +02:00
Lephenixnoir 73b536bbb6
stdlib: add abs, labs, llabs, div, ldiv, lldiv (TEST) 2021-05-18 21:25:45 +02:00
Lephenixnoir e8aaadf2e7
inttypes: add PRI* and SCN* macros (LDEPS)
These macros cannot be tested properly until support for *printf and
*scanf is added (support for *printf currently exists but with a
temporary implementation), so this is LDEPS.

The size of the types has been checked though, so the definitions here
should be correct, the rest is printf/scanf logic.
2021-05-18 18:56:06 +02:00
Lephenixnoir b1fa650914
ctype: test and fix character conversion functions (DONE)
Some shenanigans with the scope of variables in block expressions.
2021-05-18 11:52:17 +02:00
Lephenixnoir 50629bf479
ctype: test and fix character class functions (DONE) 2021-05-18 11:37:37 +02:00
Lephenixnoir d70a2c671c
add a STATUS file to keep track of implementation progress 2021-05-16 18:12:46 +02:00
Lephenixnoir 5f48a6b4e0
errno: add the errno variable and base macros
A <bits/errno.h> file will likely by added later on for each target to
add more specific values.
2021-05-16 18:12:46 +02:00
Lephenixnoir c87805ef10
ctype: add a simple implementation for the "C" locale (TEST) 2021-05-16 18:12:45 +02:00
Lephenixnoir fdf32aeb97
locale: add a stub that supports only the "C" locale (TEST)
This is enough to support the standard and likely the C++ library and
external programs to port, but also the most we can do without a proper
locale data storage and more target-specific developments that aren't a
priority right now.
2021-05-16 18:12:45 +02:00
Lephenixnoir 676601b894
assert: add a partial assert implementation (LDEPS)
This currently does not link because fprintf, stderr and abort are
missing on most platforms. But the code is there.
2021-05-16 18:12:45 +02:00
Lephenixnoir 97d52ff0b1
stdio: declare stdin, stdout and stderr on all targets
This is needed for some basic stuff like assert.
2021-05-16 18:12:45 +02:00
Lephenixnoir c88b31ec94
setjmp: make setjmp a macro 2021-05-16 18:12:42 +02:00
Lephenixnoir 4933d9c19f
cmake: remove unneeded separators in install paths 2021-05-16 18:01:21 +02:00
Lephenixnoir 471d6ea820
longjmp: optimize forcing the return value to be non-zero 2021-05-14 18:05:47 +02:00
Lephenixnoir 6275b3e73b
move bits/unistd_32.h to bits/asm on all targets
Only Vhex had it at the correct place previously.
2021-05-11 09:22:34 +02:00
Lephenixnoir f6bed55f75
update header guard convention 2021-05-09 23:00:11 +02:00
Lephenixnoir f58187c55e
remove unneeded __SUPPORT macros 2021-05-09 22:11:49 +02:00
Lephenixnoir e719af2f63
update include hierarchy 2021-05-09 17:59:07 +02:00
Lephenixnoir 8993049f4e
update README and CMake install rules 2021-05-09 17:52:07 +02:00
Yatis 64e7001d22 new include hierarchy 2021-05-09 16:35:40 +02:00
Lephenixnoir a543bfcb7c
remove old build system 2021-05-09 14:57:00 +02:00
Lephenixnoir ad9f92873b
new build system and source file hierarchy 2021-05-09 14:56:08 +02:00
Yatis f76757ecd2 Fix installation / uninstallation rules + Fix compilation ABI support 2020-11-03 15:15:01 +01:00
Yatis 6fa1e2498d Fix printf error + uninstall rules generation error + update configure 2020-11-01 11:01:39 +01:00
Yatis 15a286daf0 Fix configure script error 2020-10-27 12:03:10 +01:00
Yatis 4f1f5169d8 Fix useless variable 2020-10-26 19:24:38 +01:00
Yatis 566d2db1a6 Fix minor bugs. 2020-10-26 19:01:16 +01:00
Yatis 0a997affd5 Fix minor bugs. 2020-10-26 18:01:04 +01:00
Yatis 47e79813d9 Update configure script
* add early "-h" and "--help" handling
* replace "--support-<ABI_NAME>" flags by "--support=<target>,<target>,..."
* rename libraries name:
	* "libfxlibc-casio-abi-fx9860g" -> "libfxlibc-fx9860g"
	* "libfxlibc-casio-abi-fxcg5" -> "libfxlibc-fxcg50"

Update the README.md
2020-10-24 21:48:45 +02:00
Yann MAGNIN e9984365eb README.md edited 2020-10-21 20:29:48 +00:00
Yatis 565a159370 Release the 0.3.0 (add README + LICENSE and fix norm) 2020-10-21 22:26:47 +02:00
Yatis 38ff31fc47 add installation rules 2020-10-20 11:02:13 +02:00
Yatis 44bd67431c Fix norme + move arch-specific header 2020-10-14 15:18:10 +02:00
Yatis 4eb7b35617 fix compilation error (casio-fx9860) 2020-10-14 12:24:57 +02:00
Yatis 9f60f2bbf9 fix compilation error (vhex) 2020-10-14 12:18:34 +02:00
Yatis 3764de9a27 fix compilation error (common) 2020-10-14 12:07:29 +02:00
Yatis aeedfcdb02 project architecture rework + handle ABI specific code (WIP) 2020-10-14 11:45:08 +02:00
Yatis ac36fce54d Update configure and makefile 2020-10-11 10:15:34 +02:00