Remove obsolete C test files and Makefiles

This commit is contained in:
Pavel Punegov
2017-10-24 14:05:13 +03:00
committed by Pavel Punegov
parent 9400ee6a8e
commit 0b7ad6e205
5 changed files with 0 additions and 143 deletions
-48
View File
@@ -1,48 +0,0 @@
TESTS := sum \
sum_foo_bar \
arithmetic \
initialization
BIN_TESTS=$(foreach t, ${TESTS},${t}_test)
VPATH=codegen/function:codegen/object:${TOP}/runtime/build
LLC=llc-mp-3.8
CC=clang-mp-3.8
JAVA=java
TOP=../..
RUNTIME=${TOP}/runtime
BACKEND=${TOP}/backend.native
BACKEND_CLASSES=${TOP}/backend.native/build/classes
KOTLIN_DIST=${BACKEND}/kotlin-ir/dist
KOTLIN_NATIVE_CLASSPATH=${BACKEND_CLASSES}/bc_frontend:${BACKEND_CLASSES}/cli_bc:${BACKEND_CLASSES}/compiler:${BACKEND_CLASSES}/llvmInteropStubs:${BACKEND_CLASSES}/hashInteropStubs:${KOTLIN_DIST}/kotlinc/lib/kotlin-reflect.jar:${KOTLIN_DIST}kotlinc/lib/kotlin-stdlib.jar:${KOTLIN_DIST}/kotlinc/lib/kotlin-compiler.jar:${KOTLIN_DIST}/kotlinc/lib/kotlin-runtime.jar:${TOP}/Interop/Runtime/build/classes/main
define PROTO
$(1)_test: $1-test.c $1.S runtime.S main.c
$(CC) -o $$@ $$^
${1}_run:${1}_test
./${1}_test
endef
$(foreach test,${TESTS},$(eval $(call PROTO,$(test))))
all:${BIN_TESTS}
run:$(foreach test,${TESTS},${test}_run)
clean:
${RM} *.o *.S *.BCkt ${BIN_TESTS}
%.S:%.bc
${LLC} -o $@ $<
%.S:%.BCkt
${LLC} -o $@ $<
%.BCkt:%.kt
${JAVA} -cp ${KOTLIN_NATIVE_CLASSPATH} -Djava.library.path=${BACKEND}/build/nativelibs org.jetbrains.kotlin.cli.bc.K2NativeKt -output $@ -runtime ${RUNTIME}/build/runtime.bc ${RUNTIME}/src/main/kotlin $<
@@ -1,16 +0,0 @@
#include <stdio.h>
extern void *resolve_symbol(const char*);
int
run_test() {
int (*check_type)() = resolve_symbol("kfun:check_type()");
int (*check_not_type)() = resolve_symbol("kfun:check_not_type()");
int (*check_interface)() = resolve_symbol("kfun:check_interface()");
if (!check_type()) return 1;
if (!check_not_type()) return 1;
if (!check_interface()) return 1;
return 0;
}
@@ -1,38 +0,0 @@
#include <stdint.h>
extern void *resolve_symbol(const char*);
extern void *AllocInstance(void *, int32_t);
#define CHECK_OBJ(obj, info) if ((uintptr_t)*(obj) != (uintptr_t)(info)) return 1;
#define MAGIC0 0xdeadbeef
#define MAGIC1 0xcafebabe
#define MAGIC2 0xabadbabe
int
run_test() {
void *a_type_info = resolve_symbol("ktype:A");
void *(*a_init)(void *) = resolve_symbol("kfun:A.<init>()");
void *b_type_info = resolve_symbol("ktype:B");
void *(*b_init)(void *, int) = resolve_symbol("kfun:B.<init>(Int)");
int (*b_get_a)(void *) = resolve_symbol("kfun:B.<get-a>()");
void *c_type_info = resolve_symbol("ktype:C");
void *(*c_init)(void *, int, int) = resolve_symbol("kfun:C.<init>(Int;Int)");
int (*c_get_a)(void *) = resolve_symbol("kfun:C.<get-a>()");
void **a = (void **)AllocInstance(a_type_info, 1);
CHECK_OBJ(a, a_type_info)
void **b = (void **)AllocInstance(b_type_info, 1);
CHECK_OBJ(b, b_type_info)
void *b_obj = b_init((void *)b, MAGIC0);
CHECK_OBJ(b, b_type_info)
if (b_get_a(b_obj) != MAGIC0) return 1;
void **c = (void **)AllocInstance(c_type_info, 1);
CHECK_OBJ(c, c_type_info)
void *c_obj = c_init((void *)c, 0xcafebabe, 0xabadbabe);
CHECK_OBJ(c, c_type_info)
if (c_get_a(c_obj) != MAGIC1) return 1;
return 0;
}
-30
View File
@@ -1,30 +0,0 @@
#ifdef __linux__
# define _GNU_SOURCE
#endif
#include <dlfcn.h>
#include <stdlib.h>
#include <stdio.h>
extern int run_test();
void * resolve_symbol(char *name) {
/* here we can add here some magic to resolve symbols in kotlin native*/
void* symbol = dlsym(RTLD_DEFAULT, name);
if (!symbol) {
printf("Could not find kotlin symbol '%s': %s\n", name, dlerror());
exit(1);
}
return symbol;
}
extern void InitMemory();
extern void InitGlobalVariables();
int
main() {
InitMemory();
InitGlobalVariables();
exit(run_test());
}
@@ -1,11 +0,0 @@
extern void *resolve_symbol(const char*);
int
run_test() {
void (*main)(void*) = resolve_symbol("kfun:main(Array<String>)");
main((void*)0);
return 0;
}