* Adding tests and updated expected file with false positives to correct.
(cherry picked from commit 26e58532ee)
* Modifications to the query to address false positives.
(cherry picked from commit cc24f1ed9f)
* Updating expected file, false positives now resolved.
(cherry picked from commit 92c8d39ba3)
* Correct comment.
(cherry picked from commit 338ab96593)
* Changing from hasIntermediateType to getABaseType.
(cherry picked from commit c4737c7fbb)
* Switching to looking for explicit declaration of unsigned char, to avoid cases where unsigned char is the default char width for `char`.
(cherry picked from commit 51e787b316)
* Altering ordering for exists statement to be clearer.
(cherry picked from commit 31324fc778)
* Altering exists predicate ordering to be clearer.
(cherry picked from commit c91f7f4918)
* Changing name of predicate to be clearer, and removing an unused parameter.
(cherry picked from commit 318e75c094)
* Removing unnecessary bracket/singleton set literal.
(cherry picked from commit 162519185d)
* Formatting.
(cherry picked from commit c496503053)
The fix consists of three parts:
* Ensure that an `Unwind` instruction is generated for functions that contain
a Microsoft `__try` statement, or a function that must throw.
* Do not manually introduce `Unwind` instructions for `__except` blocks, but
depend on the `Unwind` that we now insert in the function.
* Add missing `getExceptionSuccessorInstruction` predicate to
`TranslatedMicrosoftTryExceptHandler`
The updated test results look more correct, as the documentation of
`#include_next` [1] that it should start looking in the next directory
in the search path. Before this update, the frontend was actually
looking in the current directory first, which is incorrect.
[1] https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html