Clang Project

clang_source_code/test/Driver/unix-conformance.c
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
25