Merge pull request #17 from birth-software/switch-back-to-c

Ditch C++ in favor of C
This commit is contained in:
David 2024-07-21 09:04:59 +02:00 committed by GitHub
commit 9811960c90
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 3903 additions and 6433 deletions

3898
bootstrap/main.c Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -9,15 +9,16 @@ function compile()
mkdir -p $build_dir
compile_command="clang++ -o $build_dir/$exe_name $debug_info $optimizations -std=gnu++20 -Wall -Wextra -Wpedantic -Wno-nested-anon-types -pedantic -fno-exceptions -fno-stack-protector -ferror-limit=1 -MJ $build_dir/compile_commands.json"
compile_command="clang -o $build_dir/$exe_name $debug_info $optimizations -std=gnu2x -Wall -Wextra -Wpedantic -Wno-nested-anon-types -Wno-keyword-macro -Wno-gnu-auto-type -Wno-auto-decl-extensions -pedantic -fno-exceptions -fno-stack-protector -ferror-limit=1 -MJ $build_dir/compile_commands.json"
case "$OSTYPE" in
darwin*) compile_command="$compile_command -DDEMAND_LIBC=1";;
linux*) compile_command="$compile_command -ffreestanding -nostdlib -static bootstrap/entry.S -DDEMAND_LIBC=0" ;;
# linux*) compile_command="$compile_command -ffreestanding -nostdlib -static bootstrap/entry.S -DDEMAND_LIBC=0" ;;
linux*) compile_command="$compile_command -DDEMAND_LIBC=1" ;;
*) echo "Unknown operating system $OSTYPE: no specific flags were added" ;;
esac
compile_command="$compile_command bootstrap/main.cpp"
compile_command="$compile_command bootstrap/main.c"
echo -e "\x1b[36m$compile_command\x1b[0m"
eval "time $compile_command"
}

View File

@ -1,4 +1,4 @@
fn[cc(.c)] main [export] () s32
fn main () s32
{
return 0;
}