When using the C preprocessor with assembly files, either with a capital S file extension, or with -xassembler-with-cpp, the Unicode escape sequence \u is ignored. The \u pattern can be used for expanding a macro argument that starts with u.
Details
Diff Detail
Event Timeline
The change itself looks fine, but I have a few comments on the test.
Tests of clang shouldn't actually run the assembler, as I think this one will fail if clang is built without the ARM backend. A better way to write the test would be to just run the preprocessor, and check that the occurrences of \u make it through unmodified.
You should also be able to use clang's -verify option to check the diagnostics, so that you don't need a dummy warning to avoid empty FileCheck input. Grep for expected-no-diagnostics in the existing tests for examples of this.
Updated test to check preprocessed output instead of the assembled file. Cannot use -verify with the driver, but with -E and -o -, there is no longer a need to have the dummy warning to avoid the FileCheck error.