* For `-###`, `-o %t.o` is unnecessary if we don't specifically test the
output filename.
* --target= is the canonical spelling. -target is a legacy spelling which
unfortunately cannot be removed because there are too many uses.
* -no-canonical-prefixes uses the dereferenced absolute path for the cc1
command. For most tests "-cc1" is sufficient to identify the command line, no
need to specifically test the "clang" command, and -no-canonical-prefixes can
removed.
* --unwindlib= is the preferred spelling. -u is a short option taking a value,
which means a -uwindlib= typo cannot be detected.
I recommend that you take a look at linux-cross.cpp. Testing include paths and
library paths in one RUN line is sometimes more readable than having separate
include/library tests.
Having separate RUN lines for misc features like -fdata-sections
(`aix-data-sections.c`) is wasteful. It may be better testing multiple
options in a single RUN command.
Reviewed By: jsji
Differential Revision: https://reviews.llvm.org/D119309