[PATCH] D136554: Implement CWG2631

Corentin Jabot via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 11 18:03:03 PST 2022


cor3ntin added a comment.

In D136554#3987122 <https://reviews.llvm.org/D136554#3987122>, @aeubanks wrote:

> no, I got
>
>   $ ninja -C out/MyClang/ content_unittests
>   ld.lld: error: undefined symbol: mojo::Receiver<content::mojom::TestInterfaceForDefer, mojo::RawPtrImplRefTraits<content::mojom::TestInterfaceForDefer>>::Receiver(content::mojom::TestInterfaceForDefer*)
>   >>> referenced by mojo_binder_policy_applier_unittest.cc:90 (../../content/browser/mojo_binder_policy_applier_unittest.cc:90)
>   >>>               obj/content/test/content_unittests/mojo_binder_policy_applier_unittest.o:(content::TestReceiverCollector::TestReceiverCollector())
>   
>   ld.lld: error: undefined symbol: mojo::Receiver<content::mojom::TestInterfaceForGrant, mojo::RawPtrImplRefTraits<content::mojom::TestInterfaceForGrant>>::Receiver(content::mojom::TestInterfaceForGrant*)
>   >>> referenced by mojo_binder_policy_applier_unittest.cc:91 (../../content/browser/mojo_binder_policy_applier_unittest.cc:91)
>   >>>               obj/content/test/content_unittests/mojo_binder_policy_applier_unittest.o:(content::TestReceiverCollector::TestReceiverCollector())
>   
>   ld.lld: error: undefined symbol: mojo::Receiver<content::mojom::TestInterfaceForCancel, mojo::RawPtrImplRefTraits<content::mojom::TestInterfaceForCancel>>::Receiver(content::mojom::TestInterfaceForCancel*)
>   >>> referenced by mojo_binder_policy_applier_unittest.cc:92 (../../content/browser/mojo_binder_policy_applier_unittest.cc:92)
>   >>>               obj/content/test/content_unittests/mojo_binder_policy_applier_unittest.o:(content::TestReceiverCollector::TestReceiverCollector())
>   
>   ld.lld: error: undefined symbol: mojo::Receiver<content::mojom::TestInterfaceForUnexpected, mojo::RawPtrImplRefTraits<content::mojom::TestInterfaceForUnexpected>>::Receiver(content::mojom::TestInterfaceForUnexpected*)
>   >>> referenced by mojo_binder_policy_applier_unittest.cc:93 (../../content/browser/mojo_binder_policy_applier_unittest.cc:93)
>   >>>               obj/content/test/content_unittests/mojo_binder_policy_applier_unittest.o:(content::TestReceiverCollector::TestReceiverCollector())
>   clang++: error: linker command failed with exit code 1 (use -v to see invocation)
>
> https://crsrc.org/c/content/browser/mojo_binder_policy_applier_unittest.cc;drc=4e1b7bc33d42b401d7d9ad1dcba72883add3e2af;l=90

Thanks, that was really helpful.
After most of the day spent on compiling clang and reducing, i got it down to

  template <typename> 
  struct MissingCtr {
    MissingCtr() {}
  };
  class k {
  //public:
    MissingCtr<k> a{};
  };
  struct b {
    k c{};
  };
  int main() { b d; }

It would appear to be related to access. I had not yet encountered something access related with this patch!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D136554



More information about the cfe-commits mailing list