ChuanqiXu added a comment.

From the discussion, it looks like the 'export' part is not necessary here and 
we don't need to care about linkage in this revision.

In D128328#3609827 <https://reviews.llvm.org/D128328#3609827>, @vsapsai wrote:

> Sorry for changing my mind. I've thought about the errors more and especially 
> about the case mentioned by Chuanqi
>
>   export module A;
>   [export] inline void func();
>
> I'm afraid it can complicate the implementation but we can achieve some 
> consistency with errors like
>
>   export module A;
>   export inline void func(); // error: no definition for exported inline 
> function 'func' in module 'A'
>
> and
>
>   export module A;
>   export inline void func(); // error: no definition for exported inline 
> function 'func' in module 'A'
>   //...
>   module :private;
>   void func() {}  // note: definition here is not reachable as it is private
>
> I think it is useful to have connection between declaration and definition 
> and to explain why the definition is no good.
>
> Specific wording around "no definition | missing definition | definition 
> required" is flexible.

It makes sense to me.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128328

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

Reply via email to