Clang Project

clang_source_code/test/Preprocessor/include-next.c
1// RUN: %clang_cc1 -verify %s -E -o /dev/null -I%S/Inputs/include-next-1 -I%S/Inputs/include-next-2 -DTEST=1
2// RUN: %clang_cc1 -verify %s -E -o /dev/null -I%S/Inputs/include-next-1 -I%S/Inputs/include-next-2 -DTEST=2
3// RUN: %clang_cc1 -verify %s -E -o /dev/null -I%S/Inputs/include-next-1 -I%S/Inputs/include-next-2 -DTEST=3
4
5#if TEST == 1
6// expected-warning@+1 {{#include_next in primary source file}}
7#include_next "bar.h"
8#if BAR != 1
9#error wrong bar
10#endif
11
12#elif TEST == 2
13// expected-no-diagnostics
14#include "foo.h"
15#if BAR != 2
16#error wrong bar
17#endif
18
19#elif TEST == 3
20// expected-warning@foo.h:1 {{#include_next in file found relative to primary source file or found by absolute path}}
21#include "Inputs/include-next-1/foo.h"
22#if BAR != 1
23#error wrong bar
24#endif
25#undef BAR
26
27#else
28#error unknown test
29#endif
30