blob: 0e7c7468335345c14f2b584026e901cb6b9b50b4 [file] [log] [blame]
Richard Smith8df390f2016-09-08 23:14:54 +00001// RUN: %clang_cc1 -std=c++1z -fmodules-ts -emit-module-interface %s -o %t.pcm -verify
Richard Smith145e15a2017-04-24 23:12:30 +00002// RUN: %clang_cc1 -std=c++1z -fmodules-ts -emit-module-interface %s -o %t.pcm -verify -DERRORS
Richard Smithbbcc9f02016-08-26 00:14:38 +00003
Richard Smith81328ac2017-04-21 22:39:18 +00004export module foo;
Richard Smith8df390f2016-09-08 23:14:54 +00005#ifndef ERRORS
6// expected-no-diagnostics
7#else
Richard Smith81328ac2017-04-21 22:39:18 +00008// FIXME: diagnose missing module-declaration when building module interface
Richard Smithbbcc9f02016-08-26 00:14:38 +00009
Richard Smith8df390f2016-09-08 23:14:54 +000010// FIXME: proclaimed-ownership-declarations?
11
12export {
13 int a;
14 int b;
15}
16export int c;
17
18namespace N {
19 export void f() {}
20}
21
22export struct T {} t;
23
24struct S {
25 export int n; // expected-error {{expected member name or ';'}}
26 export static int n; // expected-error {{expected member name or ';'}}
27};
28void f() {
29 export int n; // expected-error {{expected expression}}
30}
Richard Smithbbcc9f02016-08-26 00:14:38 +000031#endif