Basically working

This commit is contained in:
2024-03-31 19:29:34 +02:00
parent 5c162f413e
commit d898a9b691
4 changed files with 683 additions and 460 deletions

View File

@@ -1,11 +1,10 @@
CC = clang
LD = ld.lld
CC = gcc
#CFLAGS += -O0 -ggdb3
CFLAGS += -Ofast -ggdb3
CFLAGS += -Wall -Wextra -Wno-unused-function
CFLAGS += -Wall -Wextra -Wno-unused-function -rdynamic
#CFLAGS += -fsanitize=address
LDFLAGS = -fuse-ld=lld
LDFLAGS = -fuse-ld=lld -rdynamic
#LDFLAGS += -fsanitize=address
_OBJ = chess.o
@@ -36,7 +35,6 @@ bin/chess: $(OBJ)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
$(TEST_DIR)/bin/test_%: testing/test_%.c obj/%.o obj/util.o
echo $^
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
.PHONY: all clean docs test

File diff suppressed because it is too large Load Diff

45
src/cool_assert.h Normal file
View File

@@ -0,0 +1,45 @@
#pragma once
#include <stdio.h>
#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#undef assert
#ifdef assert
#error "assert is already defined!"
#endif
static void print_backtrace()
{
void* array[10];
char** strings;
int size, i;
size = backtrace(array, 10);
strings = backtrace_symbols(array, size);
if (strings != NULL)
{
printf ("Obtained %d stack frames.\n", size);
for (i = 0; i < size; i++)
printf ("%s\n", strings[i]);
}
free(strings);
exit(EXIT_FAILURE);
}
static int assertion_fail(const char* msg)
{
fprintf(stderr, "assertion `%s` failed!\n", msg);
print_backtrace();
exit(EXIT_FAILURE);
}
#ifndef NDEBUG
#define assert(expr) ((void)((expr) || (assertion_fail(# expr), 0)))
#else
#define assert(expt) (void)0
#endif

10
src/map.h Normal file
View File

@@ -0,0 +1,10 @@
static bool board_equals(
struct board_map {
};