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!--------------------------------------------
20! EXPECTED OUTPUT FOR MISSING INCLUDED FILE
21!--------------------------------------------
22! UNINCLUDED:#include: Source file 'basic-header-one.h' was not found
23! UNINCLUDED-NOT:program b
24! UNINCLUDED-NOT:program c
25
26!---------------------------------------------
27! EXPECTED OUTPUT FOR A SINGLE INCLUDED FOLDER
28!--------------------------------------------
29! SINGLEINCLUDE:program MainDirectoryOne
30! SINGLEINCLUDE-NOT:program X
31! SINGLEINCLUDE-NOT:program B
32! SINGLEINCLUDE:program MainDirectoryTwo
33! SINGLEINCLUDE-NOT:program Y
34! SINGLEINCLUDE-NOT:program C
35
36!-------------------------------------------------------
37! EXPECTED OUTPUT FOR Inputs/ DIRECTORY SPECIFIED FIRST
38!-------------------------------------------------------
39! MAINDIRECTORY:program MainDirectoryOne
40! MAINDIRECTORY-NOT:program SubDirectoryOne
41! MAINDIRECTORY-NOT:program B
42! MAINDIRECTORY:program MainDirectoryTwo
43! MAINDIRECTORY-NOT:program SubDirectoryTwo
44! MAINDIRECTORY-NOT:program C
45
46!------------------------------------------------------------------
47! EXPECTED OUTPUT FOR Inputs/header-dir/ DIRECTORY SPECIFIED FIRST
48!------------------------------------------------------------------
49! SUBDIRECTORY:program SubDirectoryOne
50! SUBDIRECTORY-NOT:program MainDirectoryOne
51! SUBDIRECTORY-NOT:program B
52! SUBDIRECTORY:program SubDirectoryTwo
53! SUBDIRECTORY-NOT:program MainDirectoryTwo
54! SUBDIRECTORY-NOT:program C
55
56! include-test-one.f90
57#include <basic-header-one.h>
58#ifdef X
59program X
60#else
61program B
62#endif
63end
64
65! include-test-two.f90
66INCLUDE "basic-header-two.h"
67#ifdef Y
68program Y
69#else
70program C
71#endif
72end
73