|  | // Check UNIX conformance for cc/c89/c99 | 
|  | // When c99 encounters a compilation error that causes an object file not to be | 
|  | // created, it shall write a diagnostic to standard error and continue to | 
|  | // compile other source code operands, but it shall not perform the link phase | 
|  | // and it shall return a non-zero exit status. | 
|  |  | 
|  | // When given multiple .c files to compile, clang compiles them in order until | 
|  | // it hits an error, at which point it stops. | 
|  | // | 
|  | // RUN: rm -rf %t-dir | 
|  | // RUN: mkdir -p %t-dir | 
|  | // RUN: cd %t-dir | 
|  | // | 
|  | // RUN: touch %t-dir/1.c | 
|  | // RUN: echo "invalid C code" > %t-dir/2.c | 
|  | // RUN: touch %t-dir/3.c | 
|  | // RUN: echo "invalid C code" > %t-dir/4.c | 
|  | // RUN: touch %t-dir/5.c | 
|  | // RUN: not %clang -S %t-dir/1.c %t-dir/2.c %t-dir/3.c %t-dir/4.c %t-dir/5.c | 
|  | // RUN: test -f %t-dir/1.s | 
|  | // RUN: test ! -f %t-dir/2.s | 
|  | // RUN: test -f %t-dir/3.s | 
|  | // RUN: test ! -f %t-dir/4.s | 
|  | // RUN: test -f %t-dir/5.s |