blob: ba153e6e27548a4ee6d406d646ab71131065123b [file] [log] [blame]
Sam McCall3d8051a2018-09-18 08:40:41 +00001// 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 McCall3e4f5eb2018-10-01 11:56:42 +000018// Angled shows headers from system dirs.
Sam McCall3d8051a2018-09-18 08:40:41 +000019#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 McCall3e4f5eb2018-10-01 11:56:42 +000025// 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 McCall3d8051a2018-09-18 08:40:41 +000032// Backslash handling.
33#include "a\foosys"
Sam McCall3e4f5eb2018-10-01 11:56:42 +000034// 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"