xref: /llvm-project/flang/test/Driver/include-header.f90 (revision fc1c481cf45b41137a08a753c543d8a69d393671)
1! Ensure argument -I works as expected with an included header.
2
3!--------------------------
4! FLANG DRIVER (flang)
5!--------------------------
6! RUN: not %flang -E %s  2>&1 | FileCheck %s --check-prefix=UNINCLUDED
7! RUN: %flang -E -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SINGLEINCLUDE
8! RUN: %flang -E -I %S/Inputs -I %S/Inputs/header-dir %s  2>&1 | FileCheck %s --check-prefix=MAINDIRECTORY
9! RUN: %flang -E -I %S/Inputs/header-dir -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SUBDIRECTORY
10
11!----------------------------------------
12! FRONTEND FLANG DRIVER (flang_fc1)
13!----------------------------------------
14! RUN: not %flang_fc1 -E %s  2>&1 | FileCheck %s --check-prefix=UNINCLUDED
15! RUN: %flang_fc1 -E -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SINGLEINCLUDE
16! RUN: %flang_fc1 -E -I %S/Inputs -I %S/Inputs/header-dir %s  2>&1 | FileCheck %s --check-prefix=MAINDIRECTORY
17! RUN: %flang_fc1 -E -I %S/Inputs/header-dir -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SUBDIRECTORY
18
19! UNINCLUDED:#include: Source file 'basic-header-one.h' was not found
20! UNINCLUDED-NOT:program b
21! UNINCLUDED-NOT:program c
22
23! SINGLEINCLUDE:program MainDirectoryOne
24! SINGLEINCLUDE-NOT:program X
25! SINGLEINCLUDE-NOT:program B
26! SINGLEINCLUDE:program MainDirectoryTwo
27! SINGLEINCLUDE-NOT:program Y
28! SINGLEINCLUDE-NOT:program C
29
30! MAINDIRECTORY:program MainDirectoryOne
31! MAINDIRECTORY-NOT:program SubDirectoryOne
32! MAINDIRECTORY-NOT:program B
33! MAINDIRECTORY:program MainDirectoryTwo
34! MAINDIRECTORY-NOT:program SubDirectoryTwo
35! MAINDIRECTORY-NOT:program C
36
37! SUBDIRECTORY:program SubDirectoryOne
38! SUBDIRECTORY-NOT:program MainDirectoryOne
39! SUBDIRECTORY-NOT:program B
40! SUBDIRECTORY:program SubDirectoryTwo
41! SUBDIRECTORY-NOT:program MainDirectoryTwo
42! SUBDIRECTORY-NOT:program C
43
44! include-test-one.f90
45#include <basic-header-one.h>
46#ifdef X
47program X
48#else
49program B
50#endif
51end
52
53! include-test-two.f90
54#include "basic-header-two.h"
55#ifdef Y
56program Y
57#else
58program C
59#endif
60end
61