rupprecht added a comment.

In D139741#4000201 <https://reviews.llvm.org/D139741#4000201>, @rupprecht wrote:

> I'm not sure what the libcxx failure was that caused you to revert this, but 
> we also saw a clang crasher as a result of this. `clang/lib/AST/Decl.cpp:4300 
> in unsigned int clang::FieldDecl::getBitWidthValue(const ASTContext &) const: 
> isBitField() && "not a bitfield"`. I'll try to reduce it.

Here:

  template <class F, class X, class Y>
  struct Foo {
    Foo(F, X, Y y) : y_(y) {}
    Y y_;
    union FooHolder {
      int foo;
    };
    [[no_unique_address]] FooHolder foo_holder_;
  };
  template <typename Factory, typename X, typename Y>
  void MakeFoo(Factory f, X x, Y y) {
    Foo(f, x, y);
  }
  void Start() {
    MakeFoo(0, int(), [] {});
  }


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139741

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

Reply via email to