diff options
Diffstat (limited to 'docs/UsersManual.rst')
-rw-r--r-- | docs/UsersManual.rst | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/docs/UsersManual.rst b/docs/UsersManual.rst index 6c8355776b7be..7362456202ba1 100644 --- a/docs/UsersManual.rst +++ b/docs/UsersManual.rst @@ -562,6 +562,16 @@ control the crash diagnostics. The -fno-crash-diagnostics flag can be helpful for speeding the process of generating a delta reduced test case. +Clang is also capable of generating preprocessed source file(s) and associated +run script(s) even without a crash. This is specially useful when trying to +generate a reproducer for warnings or errors while using modules. + +.. option:: -gen-reproducer + + Generates preprocessed source files, a reproducer script and if relevant, a + cache containing: built module pcm's and all headers needed to rebuilt the + same modules. + .. _rpass: Options to Emit Optimization Reports @@ -757,6 +767,7 @@ existed. #if foo #endif foo // warning: extra tokens at end of #endif directive + #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wextra-tokens" #if foo @@ -1695,6 +1706,22 @@ below. If multiple flags are present, the last one is used. Generate complete debug info. +Controlling Macro Debug Info Generation +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Debug info for C preprocessor macros increases the size of debug information in +the binary. Macro debug info generated by Clang can be controlled by the flags +listed below. + +.. option:: -fdebug-macro + + Generate debug info for preprocessor macros. This flag is discarded when + **-g0** is enabled. + +.. option:: -fno-debug-macro + + Do not generate debug info for preprocessor macros (default). + Controlling Debugger "Tuning" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1862,7 +1889,7 @@ missing from this list, please send an e-mail to cfe-dev. This list currently excludes C++; see :ref:`C++ Language Features <cxx>`. Also, this list does not include bugs in mostly-implemented features; please see the `bug -tracker <http://llvm.org/bugs/buglist.cgi?quicksearch=product%3Aclang+component%3A-New%2BBugs%2CAST%2CBasic%2CDriver%2CHeaders%2CLLVM%2BCodeGen%2Cparser%2Cpreprocessor%2CSemantic%2BAnalyzer>`_ +tracker <https://bugs.llvm.org/buglist.cgi?quicksearch=product%3Aclang+component%3A-New%2BBugs%2CAST%2CBasic%2CDriver%2CHeaders%2CLLVM%2BCodeGen%2Cparser%2Cpreprocessor%2CSemantic%2BAnalyzer>`_ for known existing bugs (FIXME: Is there a section for bug-reporting guidelines somewhere?). @@ -2273,7 +2300,7 @@ An example is the subgroup operations such as `intel_sub_group_shuffle // Define custom my_sub_group_shuffle(data, c) // that makes use of intel_sub_group_shuffle - r1 = … + r1 = ... if (r0) r1 = computeA(); // Shuffle data from r1 into r3 // of threads id r2. @@ -2284,7 +2311,7 @@ with non-SPMD semantics this is optimized to the following equivalent code: .. code-block:: c - r1 = … + r1 = ... if (!r0) // Incorrect functionality! The data in r1 // have not been computed by all threads yet. @@ -2499,7 +2526,7 @@ official `MinGW-w64 website <http://mingw-w64.sourceforge.net>`_. Clang expects the GCC executable "gcc.exe" compiled for ``i686-w64-mingw32`` (or ``x86_64-w64-mingw32``) to be present on PATH. -`Some tests might fail <http://llvm.org/bugs/show_bug.cgi?id=9072>`_ on +`Some tests might fail <https://bugs.llvm.org/show_bug.cgi?id=9072>`_ on ``x86_64-w64-mingw32``. .. _clang-cl: @@ -2542,7 +2569,7 @@ options are spelled with a leading ``/``, they will be mistaken for a filename: clang-cl.exe: error: no such file or directory: '/foobar' -Please `file a bug <http://llvm.org/bugs/enter_bug.cgi?product=clang&component=Driver>`_ +Please `file a bug <https://bugs.llvm.org/enter_bug.cgi?product=clang&component=Driver>`_ for any valid cl.exe flags that clang-cl does not understand. Execute ``clang-cl /?`` to see a list of supported options: |