forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			719 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			719 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN:     %clang_cc1 -std=c++1z -fmodules-ts -emit-module-interface %s -o %t.pcm -verify
 | |
| // RUN:     %clang_cc1 -std=c++1z -fmodules-ts -emit-module-interface %s -o %t.pcm -verify -DERRORS
 | |
| 
 | |
| export module foo;
 | |
| #ifndef ERRORS
 | |
| // expected-no-diagnostics
 | |
| #else
 | |
| // FIXME: diagnose missing module-declaration when building module interface
 | |
| 
 | |
| // FIXME: proclaimed-ownership-declarations?
 | |
| 
 | |
| export {
 | |
|   int a;
 | |
|   int b;
 | |
| }
 | |
| export int c;
 | |
| 
 | |
| namespace N {
 | |
|   export void f() {}
 | |
| }
 | |
| 
 | |
| export struct T {} t;
 | |
| 
 | |
| struct S {
 | |
|   export int n; // expected-error {{expected member name or ';'}}
 | |
|   export static int n; // expected-error {{expected member name or ';'}}
 | |
| };
 | |
| void f() {
 | |
|   export int n; // expected-error {{expected expression}}
 | |
| }
 | |
| #endif
 |