In file included from :1: In file included from llvm-project/llvm/build-mingw-i686/tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/cmake_pch.hxx:5: In file included from llvm-project/llvm/tools/clang/include/clang/AST/pch.h:13: In file included from llvm-project/llvm/tools/clang/include/clang/AST/ASTContext.h:18: In file included from llvm-project/llvm/tools/clang/include/clang/AST/CanonicalType.h:17: In file included from llvm-project/llvm/tools/clang/include/clang/AST/Type.h:20: In file included from llvm-project/llvm/tools/clang/include/clang/AST/Decl.h:17: In file included from llvm-project/llvm/tools/clang/include/clang/AST/APValue.h:22: llvm-project/llvm/include/llvm/ADT/PointerUnion.h:241:21: error: static assertion failed due to requirement 'Table.has_value()': Too many types for the available low bits 241 | static_assert(Table.has_value(), | ^~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:32: note: in instantiation of member function 'llvm::PointerUnion::getTagTable' requested here 260 | constexpr TagTable Table = getTagTable(); | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:154:54: note: in instantiation of function template specialization 'llvm::PointerUnion::encode' requested here 154 | PointerUnionMembers(Type V) { this->Val = Derived::encode(V); } | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:63:63: note: in instantiation of member function 'llvm::pointer_union_detail::PointerUnionMembers, 2, const clang::ValueDecl *, const clang::ParmVarDecl *, const clang::CXXMethodDecl *>::PointerUnionMembers' requested here 63 | AccessPath(const clang::ValueDecl *D) : K(Kind::ValueDecl), Root(D) {} | ^ In file included from :1: In file included from llvm-project/llvm/build-mingw-i686/tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/cmake_pch.hxx:5: In file included from llvm-project/llvm/tools/clang/include/clang/AST/pch.h:13: In file included from llvm-project/llvm/tools/clang/include/clang/AST/ASTContext.h:18: In file included from llvm-project/llvm/tools/clang/include/clang/AST/CanonicalType.h:17: In file included from llvm-project/llvm/tools/clang/include/clang/AST/Type.h:20: In file included from llvm-project/llvm/tools/clang/include/clang/AST/Decl.h:17: In file included from llvm-project/llvm/tools/clang/include/clang/AST/APValue.h:22: llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:24: error: constexpr variable 'Table' must be initialized by a constant expression 260 | constexpr TagTable Table = getTagTable(); | ^ ~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:154:54: note: in instantiation of function template specialization 'llvm::PointerUnion::encode' requested here 154 | PointerUnionMembers(Type V) { this->Val = Derived::encode(V); } | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:63:63: note: in instantiation of member function 'llvm::pointer_union_detail::PointerUnionMembers, 2, const clang::ValueDecl *, const clang::ParmVarDecl *, const clang::CXXMethodDecl *>::PointerUnionMembers' requested here 63 | AccessPath(const clang::ValueDecl *D) : K(Kind::ValueDecl), Root(D) {} | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:32: note: in call to 'getTagTable()' 260 | constexpr TagTable Table = getTagTable(); | ^~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:263:19: error: static assertion expression is not an integral constant expression 263 | static_assert(Table[0].Value == 0, | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:263:19: note: initializer of 'Table' is not a constant expression llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:24: note: declared here 260 | constexpr TagTable Table = getTagTable(); | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:24: error: constexpr variable 'Table' must be initialized by a constant expression 260 | constexpr TagTable Table = getTagTable(); | ^ ~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:154:54: note: in instantiation of function template specialization 'llvm::PointerUnion::encode' requested here 154 | PointerUnionMembers(Type V) { this->Val = Derived::encode(V); } | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:65:40: note: in instantiation of member function 'llvm::pointer_union_detail::PointerUnionMembers, 0, const clang::MaterializeTemporaryExpr *, const clang::CXXNewExpr *, const clang::ValueDecl *, const clang::ParmVarDecl *, const clang::CXXMethodDecl *>::PointerUnionMembers' requested here 65 | : K(Kind::MaterializeTemporary), Root(MTE) {} | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:32: note: in call to 'getTagTable()' 260 | constexpr TagTable Table = getTagTable(); | ^~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:263:19: error: static assertion expression is not an integral constant expression 263 | static_assert(Table[0].Value == 0, | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:263:19: note: initializer of 'Table' is not a constant expression llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:24: note: declared here 260 | constexpr TagTable Table = getTagTable(); | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:24: error: constexpr variable 'Table' must be initialized by a constant expression 260 | constexpr TagTable Table = getTagTable(); | ^ ~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:154:54: note: in instantiation of function template specialization 'llvm::PointerUnion::encode' requested here 154 | PointerUnionMembers(Type V) { this->Val = Derived::encode(V); } | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:66:63: note: in instantiation of member function 'llvm::pointer_union_detail::PointerUnionMembers, 1, const clang::CXXNewExpr *, const clang::ValueDecl *, const clang::ParmVarDecl *, const clang::CXXMethodDecl *>::PointerUnionMembers' requested here 66 | AccessPath(const CXXNewExpr *New) : K(Kind::NewAllocation), Root(New) {} | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:32: note: in call to 'getTagTable()' 260 | constexpr TagTable Table = getTagTable(); | ^~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:263:19: error: static assertion expression is not an integral constant expression 263 | static_assert(Table[0].Value == 0, | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:263:19: note: initializer of 'Table' is not a constant expression llvm-project/llvm/include/llvm/ADT/PointerUnion.h:260:24: note: declared here 260 | constexpr TagTable Table = getTagTable(); | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: error: constexpr variable 'Table' must be initialized by a constant expression 372 | constexpr std::array Table = | ^ 373 | From::getTagTable(); | ~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/Support/Casting.h:311:19: note: in instantiation of member function 'llvm::CastInfo>::isPossible' requested here 311 | if (!Derived::isPossible(f)) | ^ llvm-project/llvm/include/llvm/Support/Casting.h:406:23: note: in instantiation of member function 'llvm::DefaultDoCastIfPossible, llvm::CastInfo>>::doCastIfPossible' requested here 406 | return ForwardTo::doCastIfPossible(const_cast(f)); | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:78:40: note: in instantiation of function template specialization 'llvm::PointerUnion::dyn_cast' requested here 78 | return K == Kind::ValueDecl ? Root.dyn_cast() | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:373:9: note: in call to 'getTagTable()' 373 | From::getTagTable(); | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:377:25: error: constexpr variable 'TagMask' must be initialized by a constant expression 377 | constexpr uintptr_t TagMask = Table[Idx].Mask << Shift; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:377:35: note: initializer of 'Table' is not a constant expression 377 | constexpr uintptr_t TagMask = Table[Idx].Mask << Shift; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: note: declared here 372 | constexpr std::array Table = | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:378:25: error: constexpr variable 'TagValue' must be initialized by a constant expression 378 | constexpr uintptr_t TagValue = Table[Idx].Value << Shift; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:378:36: note: initializer of 'Table' is not a constant expression 378 | constexpr uintptr_t TagValue = Table[Idx].Value << Shift; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: note: declared here 372 | constexpr std::array Table = | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:384:74: error: constexpr variable 'Table' must be initialized by a constant expression 384 | constexpr std::array Table = | ^ 385 | From::getTagTable(); | ~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/Support/Casting.h:313:21: note: in instantiation of member function 'llvm::CastInfo>::doCast' requested here 313 | return Derived::doCast(f); | ^ llvm-project/llvm/include/llvm/Support/Casting.h:406:23: note: in instantiation of member function 'llvm::DefaultDoCastIfPossible, llvm::CastInfo>>::doCastIfPossible' requested here 406 | return ForwardTo::doCastIfPossible(const_cast(f)); | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:78:40: note: in instantiation of function template specialization 'llvm::PointerUnion::dyn_cast' requested here 78 | return K == Kind::ValueDecl ? Root.dyn_cast() | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:385:9: note: in call to 'getTagTable()' 385 | From::getTagTable(); | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:388:25: error: constexpr variable 'PtrMask' must be initialized by a constant expression 388 | constexpr uintptr_t PtrMask = ~(uintptr_t(Table[Idx].Mask) << Shift); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:388:47: note: initializer of 'Table' is not a constant expression 388 | constexpr uintptr_t PtrMask = ~(uintptr_t(Table[Idx].Mask) << Shift); | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:384:74: note: declared here 384 | constexpr std::array Table = | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: error: constexpr variable 'Table' must be initialized by a constant expression 372 | constexpr std::array Table = | ^ 373 | From::getTagTable(); | ~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/Support/Casting.h:311:19: note: in instantiation of member function 'llvm::CastInfo>::isPossible' requested here 311 | if (!Derived::isPossible(f)) | ^ llvm-project/llvm/include/llvm/Support/Casting.h:406:23: note: in instantiation of member function 'llvm::DefaultDoCastIfPossible, llvm::CastInfo>>::doCastIfPossible' requested here 406 | return ForwardTo::doCastIfPossible(const_cast(f)); | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:83:23: note: in instantiation of function template specialization 'llvm::PointerUnion::dyn_cast' requested here 83 | ? Root.dyn_cast() | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:373:9: note: in call to 'getTagTable()' 373 | From::getTagTable(); | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:377:25: error: constexpr variable 'TagMask' must be initialized by a constant expression 377 | constexpr uintptr_t TagMask = Table[Idx].Mask << Shift; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:377:35: note: initializer of 'Table' is not a constant expression 377 | constexpr uintptr_t TagMask = Table[Idx].Mask << Shift; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: note: declared here 372 | constexpr std::array Table = | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:378:25: error: constexpr variable 'TagValue' must be initialized by a constant expression 378 | constexpr uintptr_t TagValue = Table[Idx].Value << Shift; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:378:36: note: initializer of 'Table' is not a constant expression 378 | constexpr uintptr_t TagValue = Table[Idx].Value << Shift; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: note: declared here 372 | constexpr std::array Table = | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:384:74: error: constexpr variable 'Table' must be initialized by a constant expression 384 | constexpr std::array Table = | ^ 385 | From::getTagTable(); | ~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/Support/Casting.h:313:21: note: in instantiation of member function 'llvm::CastInfo>::doCast' requested here 313 | return Derived::doCast(f); | ^ llvm-project/llvm/include/llvm/Support/Casting.h:406:23: note: in instantiation of member function 'llvm::DefaultDoCastIfPossible, llvm::CastInfo>>::doCastIfPossible' requested here 406 | return ForwardTo::doCastIfPossible(const_cast(f)); | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:83:23: note: in instantiation of function template specialization 'llvm::PointerUnion::dyn_cast' requested here 83 | ? Root.dyn_cast() | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:385:9: note: in call to 'getTagTable()' 385 | From::getTagTable(); | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:388:25: error: constexpr variable 'PtrMask' must be initialized by a constant expression 388 | constexpr uintptr_t PtrMask = ~(uintptr_t(Table[Idx].Mask) << Shift); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:388:47: note: initializer of 'Table' is not a constant expression 388 | constexpr uintptr_t PtrMask = ~(uintptr_t(Table[Idx].Mask) << Shift); | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:384:74: note: declared here 384 | constexpr std::array Table = | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: error: constexpr variable 'Table' must be initialized by a constant expression 372 | constexpr std::array Table = | ^ 373 | From::getTagTable(); | ~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/Support/Casting.h:311:19: note: in instantiation of member function 'llvm::CastInfo>::isPossible' requested here 311 | if (!Derived::isPossible(f)) | ^ llvm-project/llvm/include/llvm/Support/Casting.h:406:23: note: in instantiation of member function 'llvm::DefaultDoCastIfPossible, llvm::CastInfo>>::doCastIfPossible' requested here 406 | return ForwardTo::doCastIfPossible(const_cast(f)); | ^ llvm-project/llvm/tools/clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h:87:47: note: in instantiation of function template specialization 'llvm::PointerUnion::dyn_cast' requested here 87 | return K == Kind::PlaceholderParam ? Root.dyn_cast() | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: read of member '__val_' of union with active member '__null_state_' is not allowed in a constant expression 243 | return *Table; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:243:14: note: in call to 'array(Table.__optional_destruct_base::union (anonymous union at /home/martin/clang-20.1.8/i686-w64-mingw32/include/c++/v1/optional:328:3).__optional_destruct_base::__val_)' 243 | return *Table; | ^~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:373:9: note: in call to 'getTagTable()' 373 | From::getTagTable(); | ^~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:377:25: error: constexpr variable 'TagMask' must be initialized by a constant expression 377 | constexpr uintptr_t TagMask = Table[Idx].Mask << Shift; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:377:35: note: initializer of 'Table' is not a constant expression 377 | constexpr uintptr_t TagMask = Table[Idx].Mask << Shift; | ^ llvm-project/llvm/include/llvm/ADT/PointerUnion.h:372:74: note: declared here 372 | constexpr std::array Table = | ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ninja: build stopped: subcommand failed.