forked from OSchip/llvm-project
462446fd9a
Summary: Finally, we are here! Analyzes OpenMP Structured Blocks and checks that no exception escapes out of the Structured Block it was thrown in. As per the OpenMP specification, structured block is an executable statement, possibly compound, with a single entry at the top and a single exit at the bottom. Which means, ``throw`` may not be used to to 'exit' out of the structured block. If an exception is not caught in the same structured block it was thrown in, the behaviour is undefined / implementation defined, the program will likely terminate. Reviewers: JonasToth, aaron.ballman, baloghadamsoftware, gribozavr Reviewed By: aaron.ballman, gribozavr Subscribers: mgorny, xazax.hun, rnkovacs, guansong, jdoerfert, cfe-commits, ABataev Tags: #clang-tools-extra, #openmp, #clang Differential Revision: https://reviews.llvm.org/D59466 llvm-svn: 356802 |
||
---|---|---|
.. | ||
ASTUtils.cpp | ||
ASTUtils.h | ||
CMakeLists.txt | ||
DeclRefExprUtils.cpp | ||
DeclRefExprUtils.h | ||
ExceptionAnalyzer.cpp | ||
ExceptionAnalyzer.h | ||
ExprSequence.cpp | ||
ExprSequence.h | ||
FixItHintUtils.cpp | ||
FixItHintUtils.h | ||
HeaderFileExtensionsUtils.cpp | ||
HeaderFileExtensionsUtils.h | ||
HeaderGuard.cpp | ||
HeaderGuard.h | ||
IncludeInserter.cpp | ||
IncludeInserter.h | ||
IncludeSorter.cpp | ||
IncludeSorter.h | ||
LexerUtils.cpp | ||
LexerUtils.h | ||
Matchers.h | ||
NamespaceAliaser.cpp | ||
NamespaceAliaser.h | ||
OptionsUtils.cpp | ||
OptionsUtils.h | ||
TypeTraits.cpp | ||
TypeTraits.h | ||
UsingInserter.cpp | ||
UsingInserter.h |