(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (FunctionDef src [] (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS _tmp/cov.cc]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#include \n"][LIT_CHARS "__attribute__((noinline))\n"][LIT_CHARS "void foo() { printf("][RIGHT_D_QUOTE "\""][LIT_CHARS foo][\ LIT_ESCAPED_CHAR "\\n"][RIGHT_D_QUOTE "\""][LIT_CHARS "); }\n"][LIT_CHARS "\n"][LIT_CHARS "int main(int argc, char **argv) {\n"][LIT_CHARS " if (argc == 2)\n"][LIT_CHARS " foo();\n"][LIT_CHARS " printf("][RIGHT_D_QUOTE "\""][LIT_CHARS main][\ LIT_ESCAPED_CHAR "\\n"][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS "}\n"]]} 0), > ) ) (FunctionDef c-src [] (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS _tmp/cov.c]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#include \n"][LIT_CHARS "#include \n"][LIT_CHARS "#include // _exit\n"][LIT_CHARS "\n"][LIT_CHARS "__attribute__((noinline))\n"][LIT_CHARS "void foo() { printf("][RIGHT_D_QUOTE "\""][LIT_CHARS foo][\ LIT_ESCAPED_CHAR "\\n"][RIGHT_D_QUOTE "\""][LIT_CHARS "); }\n"][LIT_CHARS "\n"][LIT_CHARS "int main(int argc, char **argv) {\n"][LIT_CHARS " if (argc == 2)\n"][LIT_CHARS " foo();\n"][LIT_CHARS " printf("][RIGHT_D_QUOTE "\""][LIT_CHARS main][\ LIT_ESCAPED_CHAR "\\n"][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS " _exit(0); // NO COVERAGE\n"][LIT_CHARS "}\n"]]} 0), > ) ) (= scope= flags=2 words=[] bindings=[('CLANG_DIR', {[TildeSub ''] [LIT_CHARS /install/clang] [LIT_OTHER "+"] [LIT_CHARS llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04]})]) (FunctionDef build [] (Com {[VarSub CLANG_DIR] [LIT_CHARS /bin/clang]} {[LIT_CHARS -g]} {[LIT_CHARS _tmp/cov.c]} {[LIT_CHARS -fsanitize] [LIT_DBRACKET_LIKE "="] [LIT_CHARS address]} {[LIT_CHARS -fsanitize-coverage] [LIT_DBRACKET_LIKE "="] [LIT_CHARS func]} ) ) (FunctionDef run [] (List (Com {[LIT_CHARS ./a.out]} more_env=[('ASAN_OPTIONS', {[LIT_VAR_LIKE "coverage="] [LIT_CHARS 1] =})] ) (Com {[LIT_CHARS ls]} {[LIT_CHARS -l]} {[LIT_OTHER "*"] [LIT_CHARS sancov]} ) ) ) (FunctionDef cpp-main [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_OTHER "*"] [LIT_CHARS .sancov]} ) (Com {[LIT_CHARS src]} ) (Com {[LIT_CHARS build]} ) (Com {[LIT_CHARS run]} ) ) ) (FunctionDef c-main [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_OTHER "*"] [LIT_CHARS .sancov]} ) (Com {[LIT_CHARS c-src]} ) (Com {[LIT_CHARS build]} ) (Com {[LIT_CHARS run]} ) ) ) (Com {[DQ [VarSub @]]} ) )