forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			28 lines
		
	
	
		
			677 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			677 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -std=c++17 -fmodules -verify %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| #pragma clang module build A
 | |
| module A {}
 | |
| #pragma clang module contents
 | |
| #pragma clang module begin A
 | |
| template<int*> struct X {};
 | |
| auto get() { static int n; return X<&n>(); }
 | |
| using A = decltype(get());
 | |
| #pragma clang module end
 | |
| #pragma clang module endbuild
 | |
| 
 | |
| #pragma clang module build B
 | |
| module B {}
 | |
| #pragma clang module contents
 | |
| #pragma clang module begin B
 | |
| template<int*> struct X {};
 | |
| auto get() { static int n; return X<&n>(); }
 | |
| using B = decltype(get());
 | |
| #pragma clang module end
 | |
| #pragma clang module endbuild
 | |
| 
 | |
| #pragma clang module import A
 | |
| #pragma clang module import B
 | |
| using T = A;
 | |
| using T = B;
 |