From 1c0cc775732201f4c4d3ee0d6772be786b3b4aa1 Mon Sep 17 00:00:00 2001 From: Uneven Prankster Date: Sun, 15 Oct 2023 21:28:29 -0300 Subject: A lot has certainly happened! --- tinycc/CodingStyle | 71 ------------------------------------------------------ 1 file changed, 71 deletions(-) delete mode 100644 tinycc/CodingStyle (limited to 'tinycc/CodingStyle') diff --git a/tinycc/CodingStyle b/tinycc/CodingStyle deleted file mode 100644 index 93d1324..0000000 --- a/tinycc/CodingStyle +++ /dev/null @@ -1,71 +0,0 @@ - -In general, use the same coding style as the surrounding code. - -However, do not make any unnecessary changes as that complicates -the VCS (git) history and makes it harder to merge patches. So -do not modify code just to make it conform to a coding style. - - Indentation - -Turn on a "fill tabs with spaces" option in your editor. - -Remove tabs and trailing spaces from any lines that are modified. - -Note that some files are indented with 2 spaces (when they -have large indentation) while most are indented with 4 spaces. - - Language - -TCC is mostly implemented in C90. Do not use any non-C90 features -that are not already in use. - -Non-C90 features currently in use, as revealed by -./configure --extra-cflags="-std=c90 -Wpedantic": - -- long long (including "LL" constants) -- inline -- very long string constants -- assignment between function pointer and 'void *' -- "//" comments -- empty macro arguments (DEF_ASMTEST in i386-tok.h) -- unnamed struct and union fields (in struct Sym), a C11 feature - - Testing - -A simple "make test" is sufficient for some simple changes. However, -before committing a change consider performing some of the following -additional tests: - -- Build and run "make test" on several architectures. - -- Build with ./configure --enable-cross. - -- If the generation of relocations has been changed, try compiling - with TCC and linking with GCC/Clang. If the linker has been - modified, try compiling with GCC/Clang and linking with TCC. - -- Test with ASan/UBSan to detect memory corruption and undefined behaviour: - -make clean -./configure -make -make test -cp libtcc.a libtcc.a.hide - -make clean -./configure --extra-cflags="-fsanitize=address,undefined -g" -make -cp libtcc.a.hide libtcc.a -make test - -- Test with Valgrind to detect some uses of uninitialised values: - -make clean -./configure -make -# On Intel, because Valgrind does floating-point arithmetic differently: -( cd tests && gcc -I.. tcctest.c && valgrind -q ./a.out > test.ref ) -make test TCC="valgrind -q --leak-check=full `pwd`/tcc -B`pwd` -I`pwd`" - - (Because of how VLAs are implemented, invalid reads are expected - with 79_vla_continue.) -- cgit v1.2.3