From 65400f001483dcd93e541bbde9caa5a372532e99 Mon Sep 17 00:00:00 2001
From: siemargl <siemargl@kolibrios.org>
Date: Sun, 29 May 2016 05:32:28 +0000
Subject: [PATCH] small math fix & readme

git-svn-id: svn://kolibrios.org@6439 a494cfbc-eb01-0410-851d-a64ba20cac60
---
 .../ktcc/trunk/libc/include/kos32sys1.h       | 15 ++++++-----
 .../develop/ktcc/trunk/libctest/readme.txt    |  2 +-
 programs/develop/ktcc/trunk/source/config.h   |  2 +-
 .../ktcc/trunk/source/readme_kos32.txt        | 27 +++++++------------
 4 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/programs/develop/ktcc/trunk/libc/include/kos32sys1.h b/programs/develop/ktcc/trunk/libc/include/kos32sys1.h
index 62b0be871a..99f5aca557 100644
--- a/programs/develop/ktcc/trunk/libc/include/kos32sys1.h
+++ b/programs/develop/ktcc/trunk/libc/include/kos32sys1.h
@@ -30,17 +30,19 @@ extern "C" {
 
 typedef  unsigned int color_t;
 
-typedef union 
+
+typedef union __attribute__((packed)) pos_t
 {
     uint32_t val;
     struct
     {
         short  x;
         short  y;
-    }xy;
-} __attribute__((packed)) pos_t ;
+    };
+} pos_t;
 
-typedef union 
+
+typedef union __attribute__((packed)) oskey_t
 {
     uint32_t val;
     struct
@@ -48,8 +50,8 @@ typedef union
         uint8_t   state;
         uint8_t   code;
         uint16_t  ctrl_key;
-    }in;
-}__attribute__((packed)) oskey_t ;
+    };
+} oskey_t;
 
 typedef struct
 {
@@ -154,6 +156,7 @@ uint32_t get_skin_height(void)
 };
 
 /*
+// TinyC dont support aliasing of static inline funcs
 static inline void BeginDraw(void) __attribute__ ((alias ("begin_draw")));
 static inline void EndDraw(void) __attribute__ ((alias ("end_draw")));
 static inline void DrawWindow(int x, int y, int w, int h, const char *name,
diff --git a/programs/develop/ktcc/trunk/libctest/readme.txt b/programs/develop/ktcc/trunk/libctest/readme.txt
index 3905ab969b..f2591ad630 100644
--- a/programs/develop/ktcc/trunk/libctest/readme.txt
+++ b/programs/develop/ktcc/trunk/libctest/readme.txt
@@ -1,7 +1,7 @@
 most test adapted from "musl-libctest-master" project
 some taken from newlib
 
-Status or tests
+Status or libc tests
 
 ---NOT TESTED---
 no library fns realized
diff --git a/programs/develop/ktcc/trunk/source/config.h b/programs/develop/ktcc/trunk/source/config.h
index 4b2dde8bfa..846b747a94 100644
--- a/programs/develop/ktcc/trunk/source/config.h
+++ b/programs/develop/ktcc/trunk/source/config.h
@@ -4,5 +4,5 @@
 #define TCC_TARGET_I386
 #define ONE_SOURCE
 
-#define COMMIT_4ad186c5ef61_IS_FIXED
+//#define COMMIT_4ad186c5ef61_IS_FIXED
 
diff --git a/programs/develop/ktcc/trunk/source/readme_kos32.txt b/programs/develop/ktcc/trunk/source/readme_kos32.txt
index cc14e7dde4..9134990992 100644
--- a/programs/develop/ktcc/trunk/source/readme_kos32.txt
+++ b/programs/develop/ktcc/trunk/source/readme_kos32.txt
@@ -21,17 +21,15 @@ otherwise (error) underscoring all symbols, not only cdecl
 -no symbols (mapfile) for debug, see howtodebugtcc
 
 
--how to use packed attribute see test82
--alias attribute wont work
--unnamed structs in union may lead to compiler internal error
--tcc: error: undefined symbol '__tcc_cvt_ftol' 
---in config.h - used workaround (#define COMMIT_4ad186c5ef61_IS_FIXED
---but this is precision bugfix - see \tests\tests2\000_cvttoftol.c 
+-using __attribute__((packed)) see test82. need naming struct twice as in kos32sys1.h
+-using __attribute__ ((alias xxx)) restricted only for non "static inline" functions 
+-erroneous or "non TCC" member using in nested structs or unions can lead to compiler internal error
 -not working: default search path are ./include ./lib from executable 
 --under KOS need to use -Bpath_to_ktcc
 --start.o not found using -B (kos) - put near your.c file
 -if static var sized more than 14096+ -> crash compiled .exe (kos) 
 ---^ stack size set in menuet header at compile time tccmeos.c:177 about 4k
+-bench timing coarse (0s or 1s), no usec in newlib gettimeofday. OK
 
 Tests status:
 asmtest +
@@ -55,19 +53,17 @@ test46 no stdin - removed funtionality read from console, but file ops works
 
 libc:
 -no "finished" in title of console program after exit console - use con_exit()
--bench timing error (0s or 1s)
--minimal memory allocator
+-used system memory allocator (4096 bytes minimum)
 
 
 libc not complete. overall status:
 no files:
-assert.h
 errno.h  - in stdio
 limits.h
 locale.h
 setjmp.h
 signall.h
-time.h
+time.h  - can use get_tick_count()/100 from kos32sys1.h
 wchar.h
 wctype.h
 
@@ -82,14 +78,12 @@ modf
 fmod
 
 HUGE_VAL
-NAN
-
 
 stdio.h:
-FOPEN_MAX
-L_tmpnam
-TMP_MAX
-Operations on files: none http://www.cplusplus.com/reference/cstdio/
+remove
+rename
+tmpfile
+tmpnam
 freopen
 setbuf
 setvbuf
@@ -114,4 +108,3 @@ string.h
 strxfrm
 
 
--all files in libc/kolibrisys catalog are stdcall in header, but in asm cdecl