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-NEXT:end
33! SINGLEINCLUDE-NEXT:program maindirectorytwo
34! SINGLEINCLUDE-NOT:program y
35! SINGLEINCLUDE-NOT:program c
36
37!-------------------------------------------------------
38! EXPECTED OUTPUT FOR Inputs/ DIRECTORY SPECIFIED FIRST
39!-------------------------------------------------------
40! MAINDIRECTORY:program maindirectoryone
41! MAINDIRECTORY-NOT:program subdirectoryone
42! MAINDIRECTORY-NOT:program b
43! MAINDIRECTORY-NEXT:end
44! MAINDIRECTORY-NEXT:program maindirectorytwo
45! MAINDIRECTORY-NOT:program subdirectorytwo
46! MAINDIRECTORY-NOT:program c
47
48!------------------------------------------------------------------
49! EXPECTED OUTPUT FOR Inputs/header-dir/ DIRECTORY SPECIFIED FIRST
50!------------------------------------------------------------------
51! SUBDIRECTORY:program subdirectoryone
52! SUBDIRECTORY-NOT:program maindirectoryone
53! SUBDIRECTORY-NOT:program b
54! SUBDIRECTORY-NEXT:end
55! SUBDIRECTORY-NEXT:program subdirectorytwo
56! SUBDIRECTORY-NOT:program maindirectorytwo
57! SUBDIRECTORY-NOT:program c
58
59! include-test-one.f90
60#include <basic-header-one.h>
61#ifdef X
62program X
63#else
64program B
65#endif
66end
67
68! include-test-two.f90
69INCLUDE "basic-header-two.h"
70#ifdef Y
71program Y
72#else
73program C
74#endif
75end
76