Steven Wu | 9278019 | 2017-11-10 01:32:47 +0000 | [diff] [blame] | 1 | // Check UNIX conformance for cc/c89/c99 |
| 2 | // When c99 encounters a compilation error that causes an object file not to be |
| 3 | // created, it shall write a diagnostic to standard error and continue to |
| 4 | // compile other source code operands, but it shall not perform the link phase |
| 5 | // and it shall return a non-zero exit status. |
| 6 | |
| 7 | // When given multiple .c files to compile, clang compiles them in order until |
| 8 | // it hits an error, at which point it stops. |
| 9 | // |
| 10 | // RUN: rm -rf %t-dir |
| 11 | // RUN: mkdir -p %t-dir |
| 12 | // RUN: cd %t-dir |
| 13 | // |
| 14 | // RUN: touch %t-dir/1.c |
| 15 | // RUN: echo "invalid C code" > %t-dir/2.c |
| 16 | // RUN: touch %t-dir/3.c |
| 17 | // RUN: echo "invalid C code" > %t-dir/4.c |
| 18 | // RUN: touch %t-dir/5.c |
| 19 | // RUN: not %clang -S %t-dir/1.c %t-dir/2.c %t-dir/3.c %t-dir/4.c %t-dir/5.c |
| 20 | // RUN: test -f %t-dir/1.s |
| 21 | // RUN: test ! -f %t-dir/2.s |
| 22 | // RUN: test -f %t-dir/3.s |
| 23 | // RUN: test ! -f %t-dir/4.s |
| 24 | // RUN: test -f %t-dir/5.s |