1! Ensure argument -I works as expected with an included header.
2
3! REQUIRES: new-flang-driver
4
5!--------------------------
6! FLANG DRIVER (flang-new)
7!--------------------------
8! RUN: not %flang-new -E %s  2>&1 | FileCheck %s --check-prefix=UNINCLUDED
9! RUN: %flang-new -E -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SINGLEINCLUDE
10! RUN: %flang-new -E -I %S/Inputs -I %S/Inputs/header-dir %s  2>&1 | FileCheck %s --check-prefix=MAINDIRECTORY
11! RUN: %flang-new -E -I %S/Inputs/header-dir -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SUBDIRECTORY
12
13!----------------------------------------
14! FRONTEND FLANG DRIVER (flang-new -fc1)
15!----------------------------------------
16! RUN: not %flang-new -fc1 -E %s  2>&1 | FileCheck %s --check-prefix=UNINCLUDED
17! RUN: %flang-new -fc1 -E -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SINGLEINCLUDE
18! RUN: %flang-new -fc1 -E -I %S/Inputs -I %S/Inputs/header-dir %s  2>&1 | FileCheck %s --check-prefix=MAINDIRECTORY
19! RUN: %flang-new -fc1 -E -I %S/Inputs/header-dir -I %S/Inputs %s  2>&1 | FileCheck %s --check-prefix=SUBDIRECTORY
20
21!--------------------------------------------
22! EXPECTED OUTPUT FOR MISSING INCLUDED FILE
23!--------------------------------------------
24! UNINCLUDED:#include: Source file 'basic-header-one.h' was not found
25! UNINCLUDED-NOT:program b
26! UNINCLUDED-NOT:program c
27
28!---------------------------------------------
29! EXPECTED OUTPUT FOR A SINGLE INCLUDED FOLDER
30!--------------------------------------------
31! SINGLEINCLUDE:program maindirectoryone
32! SINGLEINCLUDE-NOT:program x
33! SINGLEINCLUDE-NOT:program b
34! SINGLEINCLUDE-NEXT:end
35! SINGLEINCLUDE-NEXT:program maindirectorytwo
36! SINGLEINCLUDE-NOT:program y
37! SINGLEINCLUDE-NOT:program c
38
39!-------------------------------------------------------
40! EXPECTED OUTPUT FOR Inputs/ DIRECTORY SPECIFIED FIRST
41!-------------------------------------------------------
42! MAINDIRECTORY:program maindirectoryone
43! MAINDIRECTORY-NOT:program subdirectoryone
44! MAINDIRECTORY-NOT:program b
45! MAINDIRECTORY-NEXT:end
46! MAINDIRECTORY-NEXT:program maindirectorytwo
47! MAINDIRECTORY-NOT:program subdirectorytwo
48! MAINDIRECTORY-NOT:program c
49
50!------------------------------------------------------------------
51! EXPECTED OUTPUT FOR Inputs/header-dir/ DIRECTORY SPECIFIED FIRST
52!------------------------------------------------------------------
53! SUBDIRECTORY:program subdirectoryone
54! SUBDIRECTORY-NOT:program maindirectoryone
55! SUBDIRECTORY-NOT:program b
56! SUBDIRECTORY-NEXT:end
57! SUBDIRECTORY-NEXT:program subdirectorytwo
58! SUBDIRECTORY-NOT:program maindirectorytwo
59! SUBDIRECTORY-NOT:program c
60
61! include-test-one.f90
62#include <basic-header-one.h>
63#ifdef X
64program X
65#else
66program B
67#endif
68end
69
70! include-test-two.f90
71INCLUDE "basic-header-two.h"
72#ifdef Y
73program Y
74#else
75program C
76#endif
77end
78