39 lines · c
1// Basic test2// RUN: rm -rf %t.dir3// RUN: mkdir %t.dir4// RUN: mkdir %t.dir/a5// RUN: echo "#ifndef HEADER_A" > %t.dir/a/header.h6// RUN: echo "#define HEADER_A" >> %t.dir/a/header.h7// RUN: echo "#endif" >> %t.dir/a/header.h8// RUN: mkdir %t.dir/system9// RUN: echo "#define SYSTEM_HEADER" > %t.dir/system/system-header.h10// RUN: mkdir %t.dir/next-a11// RUN: echo "#if __has_include_next(<next-header.h>)" > %t.dir/next-a/next-header.h12// RUN: echo "#endif" >> %t.dir/next-a/next-header.h13// RUN: mkdir %t.dir/next-b14// RUN: echo "#define NEXT_HEADER" > %t.dir/next-b/next-header.h15 16// RUN: %clang -MD -MF %t.dir/file.deps %s -fsyntax-only -I %t.dir -isystem %t.dir/system -I %t.dir/next-a -I %t.dir/next-b17// RUN: FileCheck -input-file=%t.dir/file.deps %s18// CHECK: dependency-gen-has-include.o19// CHECK: dependency-gen-has-include.c20// CHECK: a{{[/\\]}}header.h21// CHECK-NOT: missing{{[/\\]}}file.h22// CHECK: system{{[/\\]}}system-header.h23// CHECK: next-a{{[/\\]}}next-header.h24// CHECK: next-b{{[/\\]}}next-header.h25 26// Verify that we ignore system headers in user-only headers mode.27// RUN: %clang -MMD -MF %t.dir/user-headers.deps %s -fsyntax-only -I %t.dir -isystem %t.dir/system -I %t.dir/next-a -I %t.dir/next-b28// RUN: FileCheck -input-file=%t.dir/user-headers.deps --check-prefix CHECK-USER-HEADER %s29// CHECK-USER-HEADER-NOT: system{{[/\\]}}system-header.h30 31#if __has_include("a/header.h")32#endif33#if __has_include("missing/file.h")34#endif35#if __has_include(<system-header.h>)36#endif37 38#include <next-header.h>39