forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -fmodules-ts -fmodule-name=ab -x c++-header %S/Inputs/no-module-map/a.h %S/Inputs/no-module-map/b.h -emit-header-module -o %t.pcm
 | |
| // RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify
 | |
| // RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify -DA
 | |
| // RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify -DB
 | |
| // RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify -DA -DB
 | |
| 
 | |
| // RUN: %clang_cc1 -E %t.pcm -o - | FileCheck %s
 | |
| // RUN: %clang_cc1 -frewrite-imports -E %t.pcm -o - | FileCheck %s
 | |
| // CHECK: # {{.*}}a.h
 | |
| // CHECK: # {{.*}}b.h
 | |
| 
 | |
| #ifdef B
 | |
| // expected-no-diagnostics
 | |
| #endif
 | |
| 
 | |
| #ifdef A
 | |
| #include "a.h"
 | |
| #endif
 | |
| 
 | |
| #ifdef B
 | |
| #include "b.h"
 | |
| #endif
 | |
| 
 | |
| #if defined(A) || defined(B)
 | |
| #ifndef A_H
 | |
| #error A_H should be defined
 | |
| #endif
 | |
| #else
 | |
| #ifdef A_H
 | |
| #error A_H should not be defined
 | |
| #endif
 | |
| // expected-error@+3 {{must be imported from}}
 | |
| // expected-note@* {{previous declaration}}
 | |
| #endif
 | |
| void use_a() { a(); }
 | |
| 
 | |
| #if defined(B)
 | |
| #ifndef B_H
 | |
| #error B_H should be defined
 | |
| #endif
 | |
| #else
 | |
| #ifdef B_H
 | |
| #error B_H should not be defined
 | |
| #endif
 | |
| // expected-error@+3 {{must be imported from}}
 | |
| // expected-note@* {{previous declaration}}
 | |
| #endif
 | |
| void use_b() { b(); }
 |