rnk added a comment.

Thanks, this seems like the right spot.



================
Comment at: clang/lib/Sema/SemaTemplate.cpp:9767
 
+    if (Context.getTargetInfo().getCXXABI().isMicrosoft() &&
+        Def->hasAttr<MSInheritanceAttr>()) {
----------------
Let's remove this condition. There will only ever be inheritance attributes 
when the MS ABI is in use. I think fewer conditions is usually better.


================
Comment at: clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp:151-159
+namespace pr48687 {
+template <typename T> struct A {
+  T value;
+  static constexpr auto address = &A<T>::value;
+};
+extern template class A<float>;
+template class A<float>;
----------------
zequanwu wrote:
> zequanwu wrote:
> > I tried to put the following CHECK for this, it never works no matter where 
> > I put namespace pr48687 nor changing `CHECK` to `CHECK-DAG` works.
> > `// CHECK: @"?address@?$A@M@pr48687@@2QQ12@MQ12@" = weak_odr dso_local 
> > constant i32 0, comdat, align 1`
> > 
> > So, as long as it does not crash/error, it might be fine.
> > 
> NVM, the align should be 4.
I see you sorted this out, thanks. I was going to suggest moving it earlier. 
Clang produces globals in a bit of an odd order.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94646

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

Reply via email to