This macro makes it convenient to annotate pointer types in source code
to avoid ASan instrumentation.
Previously __attribute__((address_space(1))) had to be applied to
pointer types to avoid instrumentation. However, this leaks
implementation details and is cumbersome to write.
The intended use case here is to annotate accesses to regions of memory
on Darwin that are outside of normal user memory. These regions do not
have a corresponding shadow memory and so when instrumentation tries to
look to access the shadow bytes it causes non-deterministic behaviour.
A test case is included to test various aspects of the macro.
rdar://problem/70234898
clang-format suggested style edits found: