xref: /llvm-project/clang/test/Preprocessor/include-header-missing-in-framework-with-headermap.c (revision e32ff096858578f526b6d05ab97c8f083f2e1834)
1*e32ff096SVolodymyr Sapsai // RUN: rm -f %t.hmap
2*e32ff096SVolodymyr Sapsai // RUN: %hmaptool write %S/Inputs/include-header-missing-in-framework/TestFramework.hmap.json %t.hmap
3*e32ff096SVolodymyr Sapsai // RUN: %clang_cc1 -fsyntax-only -F %S/Inputs -I %t.hmap -verify %s -DLATE_REMAPPING
4*e32ff096SVolodymyr Sapsai // RUN: %clang_cc1 -fsyntax-only -I %t.hmap -F %S/Inputs -verify %s
5*e32ff096SVolodymyr Sapsai 
6*e32ff096SVolodymyr Sapsai // The test is similar to 'include-header-missing-in-framework.c' but covers
7*e32ff096SVolodymyr Sapsai // the case when a header is remapped to a framework-like path with a .hmap
8*e32ff096SVolodymyr Sapsai // file. And we can find the framework but not the header.
9*e32ff096SVolodymyr Sapsai 
10*e32ff096SVolodymyr Sapsai #ifdef LATE_REMAPPING
11*e32ff096SVolodymyr Sapsai // Framework is found before remapping.
12*e32ff096SVolodymyr Sapsai #include <TestFramework/BeforeRemapping.h>
13*e32ff096SVolodymyr Sapsai // expected-error@-1 {{'TestFramework/BeforeRemapping.h' file not found}}
14*e32ff096SVolodymyr Sapsai // expected-note@-2 {{did not find header 'BeforeRemapping.h' in framework 'TestFramework' (loaded from}}
15*e32ff096SVolodymyr Sapsai 
16*e32ff096SVolodymyr Sapsai #else
17*e32ff096SVolodymyr Sapsai // Framework is found after remapping.
18*e32ff096SVolodymyr Sapsai #include "RemappedHeader.h"
19*e32ff096SVolodymyr Sapsai // expected-error@-1 {{'RemappedHeader.h' file not found}}
20*e32ff096SVolodymyr Sapsai #endif // LATE_REMAPPING
21