diff options
Diffstat (limited to 'docs/ClangCheck.rst')
-rw-r--r-- | docs/ClangCheck.rst | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/ClangCheck.rst b/docs/ClangCheck.rst new file mode 100644 index 0000000..4650049 --- /dev/null +++ b/docs/ClangCheck.rst @@ -0,0 +1,36 @@ +========== +ClangCheck +========== + +`ClangCheck` is a small wrapper around :doc:`LibTooling` which can be used to +do basic error checking and AST dumping. + +.. code-block:: console + + $ cat <<EOF > snippet.cc + > void f() { + > int a = 0 + > } + > EOF + $ ~/clang/build/bin/clang-check snippet.cc -ast-dump -- + Processing: /Users/danieljasper/clang/llvm/tools/clang/docs/snippet.cc. + /Users/danieljasper/clang/llvm/tools/clang/docs/snippet.cc:2:12: error: expected ';' at end of + declaration + int a = 0 + ^ + ; + (TranslationUnitDecl 0x7ff3a3029ed0 <<invalid sloc>> + (TypedefDecl 0x7ff3a302a410 <<invalid sloc>> __int128_t '__int128') + (TypedefDecl 0x7ff3a302a470 <<invalid sloc>> __uint128_t 'unsigned __int128') + (TypedefDecl 0x7ff3a302a830 <<invalid sloc>> __builtin_va_list '__va_list_tag [1]') + (FunctionDecl 0x7ff3a302a8d0 </Users/danieljasper/clang/llvm/tools/clang/docs/snippet.cc:1:1, line:3:1> f 'void (void)' + (CompoundStmt 0x7ff3a302aa10 <line:1:10, line:3:1> + (DeclStmt 0x7ff3a302a9f8 <line:2:3, line:3:1> + (VarDecl 0x7ff3a302a980 <line:2:3, col:11> a 'int' + (IntegerLiteral 0x7ff3a302a9d8 <col:11> 'int' 0)))))) + 1 error generated. + Error while processing snippet.cc. + +The '--' at the end is important as it prevents `clang-check` from search for a +compilation database. For more information on how to setup and use `clang-check` +in a project, see :doc:`HowToSetupToolingForLLVM`. |