forked from KolibriOS/kolibrios
fix startup, gcc5.4 ready
git-svn-id: svn://kolibrios.org@6574 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
e8ffe59ea7
commit
726024dfe0
@ -33,6 +33,7 @@ start:
|
|||||||
; or al, [params+buf_len-1]
|
; or al, [params+buf_len-1]
|
||||||
; jnz .crash
|
; jnz .crash
|
||||||
; check if path written by OS
|
; check if path written by OS
|
||||||
|
mov [argc], 0
|
||||||
mov eax, [hparams]
|
mov eax, [hparams]
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .without_path
|
jz .without_path
|
||||||
|
42
programs/develop/ktcc/trunk/libctest/float2.c
Normal file
42
programs/develop/ktcc/trunk/libctest/float2.c
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 10; i++)
|
||||||
|
{
|
||||||
|
printf("------------------------------------------------------\n");
|
||||||
|
printf ( "remainder of 5.3 / 2 is %f\n", remainder (5.3,2) );
|
||||||
|
printf ( "remainder of 18.5 / 4.2 is %f\n", remainder (18.5,4.2) );
|
||||||
|
//remainder of 5.3 / 2 is -0.700000
|
||||||
|
//remainder of 18.5 / 4.2 is 1.700000
|
||||||
|
|
||||||
|
printf ( "fmod of 5.3 / 2 is %f\n", fmod (5.3,2) );
|
||||||
|
printf ( "fmod of 18.5 / 4.2 is %f\n", fmod (18.5,4.2) );
|
||||||
|
// fmod of 5.3 / 2 is 1.300000
|
||||||
|
// fmod of 18.5 / 4.2 is 1.700000
|
||||||
|
|
||||||
|
double param, fractpart, intpart, result;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
param = 3.14159265;
|
||||||
|
fractpart = modf (param , &intpart);
|
||||||
|
printf ("%f = %f + %f \n", param, intpart, fractpart);
|
||||||
|
//3.141593 = 3.000000 + 0.141593
|
||||||
|
|
||||||
|
param = 0.95;
|
||||||
|
n = 4;
|
||||||
|
result = ldexp (param , n);
|
||||||
|
printf ("%f * 2^%d = %f\n", param, n, result);
|
||||||
|
//0.950000 * 2^4 = 15.200000
|
||||||
|
|
||||||
|
param = 8.0;
|
||||||
|
result = frexp (param , &n);
|
||||||
|
printf ("%f = %f * 2^%d\n", param, result, n);
|
||||||
|
//8.000000 = 0.500000 * 2^4
|
||||||
|
param = 50;
|
||||||
|
result = frexp (param , &n);
|
||||||
|
printf ("%f = %f * 2^%d\n", param, result, n);
|
||||||
|
}
|
||||||
|
}
|
@ -2,3 +2,6 @@ see
|
|||||||
source/readme.*
|
source/readme.*
|
||||||
source/changelog
|
source/changelog
|
||||||
source/tcc-doc.info or .texi
|
source/tcc-doc.info or .texi
|
||||||
|
|
||||||
|
building Kolibri version
|
||||||
|
>make -f Makefile.kos32
|
||||||
|
@ -3,7 +3,12 @@ LD = kos32-ld
|
|||||||
|
|
||||||
SDK_DIR:= $(abspath ../../../sdk)
|
SDK_DIR:= $(abspath ../../../sdk)
|
||||||
|
|
||||||
LDFLAGS = -static -nostdlib -T $(SDK_DIR)/sources/newlib/static.lds
|
#gcc 4.8
|
||||||
|
#LDFLAGS = -static -nostdlib -T $(SDK_DIR)/sources/newlib/static.lds
|
||||||
|
|
||||||
|
|
||||||
|
LDFLAGS = -static -S -nostdlib -T $(SDK_DIR)/lib/app-dynamic.lds \
|
||||||
|
--image-base 0
|
||||||
|
|
||||||
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
|
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
|
||||||
|
|
||||||
@ -20,7 +25,8 @@ OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
|||||||
default: tcc
|
default: tcc
|
||||||
|
|
||||||
tcc: $(OBJECTS)
|
tcc: $(OBJECTS)
|
||||||
$(LD) $(LDFLAGS) $(LIBPATH) -o tcc $(OBJECTS) -lgcc_eh -lc -lgcc -lc
|
#gcc4.8 $(LD) $(LDFLAGS) $(LIBPATH) -o tcc $(OBJECTS) -lgcc_eh -lc -lgcc -lc
|
||||||
|
$(LD) $(LDFLAGS) $(LIBPATH) -o tcc $(OBJECTS) -lgcc -ldll -lc.dll
|
||||||
kos32-objcopy tcc -O binary
|
kos32-objcopy tcc -O binary
|
||||||
|
|
||||||
%.o : %.c $(SOURCES)
|
%.o : %.c $(SOURCES)
|
||||||
|
@ -777,8 +777,13 @@ static void error1(TCCState *s1, int is_warning, const char *fmt, va_list ap)
|
|||||||
/* default case: stderr */
|
/* default case: stderr */
|
||||||
if (s1->ppfp) /* print a newline during tcc -E */
|
if (s1->ppfp) /* print a newline during tcc -E */
|
||||||
fprintf(s1->ppfp, "\n"), fflush(s1->ppfp);
|
fprintf(s1->ppfp, "\n"), fflush(s1->ppfp);
|
||||||
|
#ifndef TCC_TARGET_MEOS
|
||||||
fprintf(stderr, "%s\n", buf);
|
fprintf(stderr, "%s\n", buf);
|
||||||
fflush(stderr); /* print error/warning now (win32) */
|
fflush(stderr); /* print error/warning now (win32) */
|
||||||
|
#else
|
||||||
|
fprintf(stdout, "%s\n", buf);
|
||||||
|
fflush(stdout); /* print error/warning now (win32) */
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
s1->error_func(s1->error_opaque, buf);
|
s1->error_func(s1->error_opaque, buf);
|
||||||
}
|
}
|
||||||
@ -2483,7 +2488,7 @@ PUB_FUNC void tcc_print_stats(TCCState *s, int64_t total_time)
|
|||||||
tt = 0.001;
|
tt = 0.001;
|
||||||
if (total_bytes < 1)
|
if (total_bytes < 1)
|
||||||
total_bytes = 1;
|
total_bytes = 1;
|
||||||
fprintf(stderr, "%d idents, %d lines, %d bytes, %0.3f s, %d lines/s, %0.1f MB/s\n",
|
fprintf(stdout, "%d idents, %d lines, %d bytes, %0.3f s, %d lines/s, %0.1f MB/s\n",
|
||||||
tok_ident - TOK_IDENT, total_lines, total_bytes,
|
tok_ident - TOK_IDENT, total_lines, total_bytes,
|
||||||
tt, (int)(total_lines / tt),
|
tt, (int)(total_lines / tt),
|
||||||
total_bytes / tt / 1000000.0);
|
total_bytes / tt / 1000000.0);
|
||||||
|
Loading…
Reference in New Issue
Block a user