diff options
Diffstat (limited to 'test/CodeCompletion/included-files.cpp')
-rw-r--r-- | test/CodeCompletion/included-files.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/CodeCompletion/included-files.cpp b/test/CodeCompletion/included-files.cpp new file mode 100644 index 0000000000000..ba153e6e27548 --- /dev/null +++ b/test/CodeCompletion/included-files.cpp @@ -0,0 +1,35 @@ +// RUN: rm -rf %t && mkdir %t && cp %s %t/main.cc && mkdir %t/a +// RUN: touch %t/foo.h && touch %t/foo.cc && touch %t/a/foosys %t/a/foosys.h + +// Quoted string shows header-ish files from CWD, and all from system. +#include "foo.h" +// 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 +// CHECK-1-NOT: foo.cc" +// CHECK-1: foo.h" +// CHECK-1: foosys" + +// Quoted string with dir shows header-ish files in that subdir. +#include "a/foosys" +// 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 +// CHECK-2-NOT: foo.h" +// CHECK-2: foosys.h" +// CHECK-2-NOT: foosys" + +// Angled shows headers from system dirs. +#include <foosys> +// 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 +// CHECK-3-NOT: foo.cc> +// CHECK-3-NOT: foo.h> +// CHECK-3: foosys> + +// With -I rather than -isystem, the header extension is required. +#include <foosys> +// 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 +// CHECK-4-NOT: foo.cc> +// CHECK-4-NOT: foo.h> +// CHECK-4-NOT: foosys> + +// Backslash handling. +#include "a\foosys" +// 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 +// CHECK-5: foosys.h" |