Sam McCall | 3d8051a | 2018-09-18 08:40:41 +0000 | [diff] [blame] | 1 | // RUN: rm -rf %t && mkdir %t && cp %s %t/main.cc && mkdir %t/a |
| 2 | // RUN: touch %t/foo.h && touch %t/foo.cc && touch %t/a/foosys %t/a/foosys.h |
| 3 | |
| 4 | // Quoted string shows header-ish files from CWD, and all from system. |
| 5 | #include "foo.h" |
| 6 | // RUN: %clang -fsyntax-only -isystem %t/a -Xclang -code-completion-at=%t/main.cc:5:13 %t/main.cc | FileCheck -check-prefix=CHECK-1 %s |
| 7 | // CHECK-1-NOT: foo.cc" |
| 8 | // CHECK-1: foo.h" |
| 9 | // CHECK-1: foosys" |
| 10 | |
| 11 | // Quoted string with dir shows header-ish files in that subdir. |
| 12 | #include "a/foosys" |
| 13 | // RUN: %clang -fsyntax-only -isystem %t/a -Xclang -code-completion-at=%t/main.cc:12:13 %t/main.cc | FileCheck -check-prefix=CHECK-2 %s |
| 14 | // CHECK-2-NOT: foo.h" |
| 15 | // CHECK-2: foosys.h" |
| 16 | // CHECK-2-NOT: foosys" |
| 17 | |
Sam McCall | 3e4f5eb | 2018-10-01 11:56:42 +0000 | [diff] [blame] | 18 | // Angled shows headers from system dirs. |
Sam McCall | 3d8051a | 2018-09-18 08:40:41 +0000 | [diff] [blame] | 19 | #include <foosys> |
| 20 | // RUN: %clang -fsyntax-only -isystem %t/a -Xclang -code-completion-at=%t/main.cc:19:13 %t/main.cc | FileCheck -check-prefix=CHECK-3 %s |
| 21 | // CHECK-3-NOT: foo.cc> |
| 22 | // CHECK-3-NOT: foo.h> |
| 23 | // CHECK-3: foosys> |
| 24 | |
Sam McCall | 3e4f5eb | 2018-10-01 11:56:42 +0000 | [diff] [blame] | 25 | // With -I rather than -isystem, the header extension is required. |
| 26 | #include <foosys> |
| 27 | // RUN: %clang -fsyntax-only -I %t/a -Xclang -code-completion-at=%t/main.cc:26:13 %t/main.cc | FileCheck -check-prefix=CHECK-4 %s |
| 28 | // CHECK-4-NOT: foo.cc> |
| 29 | // CHECK-4-NOT: foo.h> |
| 30 | // CHECK-4-NOT: foosys> |
| 31 | |
Sam McCall | 3d8051a | 2018-09-18 08:40:41 +0000 | [diff] [blame] | 32 | // Backslash handling. |
| 33 | #include "a\foosys" |
Sam McCall | 3e4f5eb | 2018-10-01 11:56:42 +0000 | [diff] [blame] | 34 | // RUN: %clang -fsyntax-only -isystem %t/a -Xclang -code-completion-at=%t/main.cc:33:13 %t/main.cc -fms-compatibility | FileCheck -check-prefix=CHECK-5 %s |
| 35 | // CHECK-5: foosys.h" |