xref: /llvm-project/clang-tools-extra/docs/clang-tidy/checks/openmp/exception-escape.rst (revision 6e566bc5523f743bc34a7e26f050f1f2b4d699a8)
1.. title:: clang-tidy - openmp-exception-escape
2
3openmp-exception-escape
4=======================
5
6Analyzes OpenMP Structured Blocks and checks that no exception escapes
7out of the Structured Block it was thrown in.
8
9As per the OpenMP specification, a structured block is an executable statement,
10possibly compound, with a single entry at the top and a single exit at the
11bottom. Which means, ``throw`` may not be used to 'exit' out of the
12structured block. If an exception is not caught in the same structured block
13it was thrown in, the behavior is undefined.
14
15FIXME: this check does not model SEH, ``setjmp``/``longjmp``.
16
17WARNING! This check may be expensive on large source files.
18
19Options
20-------
21
22.. option:: IgnoredExceptions
23
24   Comma-separated list containing type names which are not counted as thrown
25   exceptions in the check. Default value is an empty string.
26