hliao added a comment. In D79344#2018683 <https://reviews.llvm.org/D79344#2018683>, @tra wrote:
> In D79344#2018628 <https://reviews.llvm.org/D79344#2018628>, @hliao wrote: > > > In D79344#2018561 <https://reviews.llvm.org/D79344#2018561>, @tra wrote: > > > > > This has a good chance of breaking existing code. It would be great to > > > add an escape hatch option to revert to the old behavior if we run into > > > problems. The change is relatively simple, so reverting it in case > > > something goes wrong should work, too. Up to you. > > > > > > Why? for the cases addressed in this patch, if there is existing code, it > > won't be compiled to generate module file due to the missing symbol. > > Anything missing? > > > Logistics, mostly. > > Overloading is a rather fragile area of CUDA. This is the area where clang > and NVCC behave differently. Combined with the existing code that needs to > work with both compilers, even minor changes in compiler behavior can result > in unexpected issues. Stricter checks tend to expose existing code which > happens to work (or to compile) when it should not have, but it's not always > trivial to fix those quickly. Having an escape hatch allows us to deal with > those issues. It allows the owner of the code to reproduce the problem while > the rest of the world continues to work. Reverting is suboptimal as the end > user is often not in a good position to build a compiler with your patch > plumbed in and then plumb the patched compiler into their build system. > Adding another compiler option to enable/disable the new behavior is much > more manageable. OK, I will add one option, But, do we turn it on by default or off? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79344/new/ https://reviews.llvm.org/D79344 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits