Giacomo Tesio
e70feee4a3
With this commit all functions declared in libc.h have been renamed with the "jehanne_" prefix. This is done for several reason: - it removes conflicts during symbol resolution when linking standard C libraries like newlib or musl - it allows programs depending on a standard C library to directly link to a library depending on our non standard libc (eg libsec). To ease transiction two files are provided: - sys/include/lib9.h that can be included instead of <libc.h> to use the old names (via a simple set of macros) - sys/src/lib/c/lib9.c that can be compiled with a program where the macro provided by lib9.h are too dumb (see for example rc or grep). In the kernel port/lib.h has been modified accordingly and some of the functions it directly provides has been renamed too (eg malloc in qmalloc.c and print in devcons.c).
34 lines
528 B
C
34 lines
528 B
C
#include <u.h>
|
|
#include <lib9.h>
|
|
|
|
#define INT 2
|
|
#define FLOAT 2.5
|
|
#define A 4 // addition result
|
|
#define M 5 // multiplication result
|
|
|
|
void
|
|
main()
|
|
{
|
|
int a, b, x, y;
|
|
float f;
|
|
double d;
|
|
|
|
f = FLOAT;
|
|
d = FLOAT;
|
|
a = b = x = y = INT;
|
|
|
|
a += (double)d;
|
|
b *= (double)d;
|
|
x += (float)f;
|
|
y *= (float)f;
|
|
|
|
fprint(2, "[double] addition: %d; multiplication: %d\n", a, b);
|
|
|
|
fprint(2, "[float] addition: %d; multiplication: %d\n", x, y);
|
|
|
|
if(a != A || x != A || b != M || y != M)
|
|
exits("FAIL");
|
|
print("PASS\n");
|
|
exits("PASS");
|
|
}
|