28 lines
		
	
	
		
			715 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			715 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -fmodules -x c++-module-map %s -fmodule-name=__usr_include -verify
 | |
| // RUN: %clang_cc1 -fmodules -x c++-module-map %s -fmodule-name=__usr_include -verify -DIMPORT
 | |
| 
 | |
| module __usr_include {
 | |
|   module stddef {}
 | |
|   module stdlib {}
 | |
| }
 | |
| 
 | |
| #pragma clang module contents
 | |
| 
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| #pragma clang module begin __usr_include.stddef
 | |
|   #define NULL 0
 | |
| #pragma clang module end
 | |
| 
 | |
| #pragma clang module begin __usr_include.stdlib
 | |
|   #ifdef IMPORT
 | |
|     #pragma clang module import __usr_include.stddef
 | |
|   #else
 | |
|     #pragma clang module begin __usr_include.stddef
 | |
|       #define NULL 0
 | |
|     #pragma clang module end
 | |
|   #endif
 | |
| 
 | |
|   void *f() { return NULL; } // ok, NULL is visible here
 | |
| #pragma clang module end
 |