This adds support for multiple attributes in #pragma clang attribute push, for example:
#pragma clang attribute push (__attribute__((disable_sanitizer_instrumentation)) __attribute__((section("S"))), apply_to=variable(is_global))
or
#pragma clang attribute push ([[clang::disable_tail_calls, noreturn]], apply_to = function)
Related attributes can now be applied with a single pragma, which makes it harder for developers to make an accidental error later when editing the code.
rdar://78269653
I think this entire test file can now be folded back into pragma-attribute.cpp (this way we don't have to pay the overhead of another execution of Clang to test the functionality).