From d6f368a3f400fea3e89280262a8147e7ce5d855c Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 22 Aug 2019 00:59:49 +0200 Subject: Move thread work from compiler/parser to thread_work file, fix use after free bug in multithreaded parser allocator --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 4a1f0b5..6dc4086 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,14 @@ Verify all code execution paths in a function return a value, if the function ex Show compile error if the result of a function call is ignored.\ Show compile error if function result type and assigned to variable have different types.\ Show compile error if variables are assigned to but not used.\ -Push arguments in reverse order (right-to-left, cdecl) (in program.c, since on windows we will need to support stdcall which is left-to-right). -## Urgent -Simplify src/compiler.c, it's pretty complex with the thread work done right now. The thread work should be put in a -thread dispatch file that only handles thread job dispatching. +Push arguments in reverse order (right-to-left, cdecl) (in program.c, since on windows we will need to support stdcall which is left-to-right).\ +After tokenizing files, unload file data to disk. Otherwise large programs (as large as chromium) will need gigabytes of ram to compile. # Documents Documents are located under doc. The file doc/Documentation.md is generated from source files by running doc/doc_extract.py but there is no need to run this script unless you are modifying documentation in the source. +# Development +Define `AMAL_MUTEX_DEBUG` in src/thread.c to enable mutex debugging.\ +Set `PEDANTIC` environment variable to 1 before compiling to enable pedantic mode.\ +Set `SANITIZE_ADDRESS` environment variable to 1 before compiling to run compile with asan.\ +Set `SANITIZE_THREAD` environment variable to 1 before compiling to run compile with tsan.\ +Set `SCAN_BUILD` environment variable to 1 before compiling to run scan-build on the source files. \ No newline at end of file -- cgit v1.2.3