urnathan added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:7784-7785
   "because namespace %1 does not enclose namespace %2">;
+def err_export_non_namespace_scope_name : Error<"cannot export %0 here since "
+  "only the entities in namespace scope could be exported.">;
+def err_export_qualified_redeclaration : Error<"cannot export redeclaration "
----------------
I think the wording is awkward.  'here' carries the implication there is a 
somewhere where it would be ok, but there isn't.
'cannot export %0 as it is not at namespace scope'


================
Comment at: clang/test/CXX/module/module.interface/p6.cpp:47
+void A::foo();
+export struct A::X;   // expected-error {{cannot export redeclaration 'X' 
here.}}
+export struct A::Y;   // expected-error {{cannot export redeclaration 'Y' 
here.}}
----------------
um, is that really invalid?  it looks to me that one's reexporting an already 
exported namespace entity.  It's perfectly valid to write::
namespace A{ export struct X;}
namespace A { export struct X;}
so I don't see why 'export struct A::X;' is invalid.  (I realize this is not a 
change you;ve made).

also applies to foo.


================
Comment at: clang/test/CXX/module/module.interface/p6.cpp:48
+export struct A::X;   // expected-error {{cannot export redeclaration 'X' 
here.}}
+export struct A::Y;   // expected-error {{cannot export redeclaration 'Y' 
here.}}
+export void A::foo(); // expected-error {{cannot export redeclaration 'foo' 
here.}}
----------------
Can we note (a) as the original declaration was not exported, and note where it 
is?
'cannot export redeclaration %0 as it is not exported'
'note: declared here'

also applies to bar


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112903/new/

https://reviews.llvm.org/D112903

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to