Commit Graph

4 Commits

Author SHA1 Message Date
Julian Lettner
0ce8bfaaec [Sanitizers] Remove obsolete LIT substitution (#65420)
Co-authored-by: Julian Lettner <julian.lettner@apple.com>
2023-04-27 10:41:10 -07:00
Adrian Prantl
158772c2ab Rebase SILScope generation on top of ASTScope.
This patch replaces the stateful generation of SILScope information in
SILGenFunction with data derived from the ASTScope hierarchy, which should be
100% in sync with the scopes needed for local variables. The goal is to
eliminate the surprising effects that the stack of cleanup operations can have
on the current state of SILBuilder leading to a fully deterministic (in the
sense of: predictible by a human) association of SILDebugScopes with
SILInstructions. The patch also eliminates the need to many workarounds. There
are still some accomodations for several Sema transformation passes such as
ResultBuilders, which don't correctly update the source locations when moving
around nodes. If these were implemented as macros, this problem would disappear.

This necessary rewrite of the macro scope handling included in this patch also
adds proper support nested macro expansions.

This fixes

rdar://88274783

and either fixes or at least partially addresses the following:

rdar://89252827
rdar://105186946
rdar://105757810
rdar://105997826
rdar://105102288
2023-04-04 15:20:11 -07:00
Julian Lettner
ac6dffdf41 [Sanitizer] Disable inlining to improve robustness of test (#33753)
This test checks that Sanitizer reports contain properly symbolicated
stacks.  Let's make sure that all of the expected frames appear in the
stack by disabling inlining and preventing tail call optimization.

rdar://68171463

Co-authored-by: Julian Lettner <julian.lettner@apple.com>
2020-09-02 15:03:28 -07:00
Julian Lettner
80a0f3eeb1 [Sanitizer] Add smoke test for report symbolication (#33656)
Add a test that checks symbolication for out-of-process and in-process
symbolication for both Apple platforms and Linux.

Note that there already exist tests in the compiler-rt test suite that
check report symbolication.  The purpose of this test is to have simple
smoke tests for Swift, and specifically Swift demangling.

rdar://62753845

Co-authored-by: Julian Lettner <julian.lettner@apple.com>
2020-08-31 14:59:26 -07:00