ChuanqiXu added a comment.

In D129488#3760982 <https://reviews.llvm.org/D129488#3760982>, @ilya-biryukov 
wrote:

> @aaron.ballman, that's my reading of the standard as well. Do you think we 
> should proceed with the current approach or is there another direction worth 
> pursuing to make source_location work?
>
> In D129488#3760178 <https://reviews.llvm.org/D129488#3760178>, @ChuanqiXu 
> wrote:
>
>> There is another example we shouldn't make this specific for 
>> std::source_location::current(): 
>> https://github.com/llvm/llvm-project/issues/57459. I guess we can solve the 
>> issue too if we evaluate default argument at the caller position.
>
> I think you're right and it would probably work automatically if we were to 
> recreate the default argument expression on every call where it appears.
> However, going this route for the particular purpose of checking module 
> visibility looks like an overkill. FWIW, see my attempt at this to fix 
> `source_location::current()` with immediate invocations D132941 
> <https://reviews.llvm.org/D132941>.
> It's complicated, makes default arguments slower and encounters new failures 
> modes, e.g. there new errors with lambdas in default arguments.

It is just an example. I just wanted to say we could solve more problems if we 
chose that way. The issue of the module may not so painful and it shouldn't be 
hard to handle it specially. (Although specially handling looks not good, this 
is the reason why I didn't fix it). But after all, I am not objecting (nor 
approving) this for the modules example.

---

For this patch, I agree with @jyknight, it'd better to be constexpr instead of 
consteval. I feel it may be better to reflect this with wg21 instead of hacking 
in compilers.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129488

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

Reply via email to