aboutsummaryrefslogtreecommitdiff
path: root/tinycc/CodingStyle
diff options
context:
space:
mode:
Diffstat (limited to 'tinycc/CodingStyle')
-rw-r--r--tinycc/CodingStyle71
1 files changed, 0 insertions, 71 deletions
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.)