You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Swift master-next build was recently broken by LLVM r347004, which removed some code from llvm::Optional to optimize for trivially copyable types. The build failed because of static_asserts checking that AST attributes are trivially destructible (PR #19670).
The optimization was removed from LLVM because of an apparent bug in GCC that no one has yet figured out how to work around. In the meantime, I have reapplied the llvm::Optional code in the swift-llvm repo. It would be good to eventually find a way for Swift to work with LLVM's trunk without requiring this divergent change. It seems like std::optional is trivial for trivial types, so perhaps someday we can switch to use that. Or maybe the GCC bug will get fixed and llvm::Optional can re-add the optimization.
The text was updated successfully, but these errors were encountered:
Additional Detail from JIRA
md5: 69c8929e46ae594aef2e8bca08d74297
Issue Description:
The Swift master-next build was recently broken by LLVM r347004, which removed some code from llvm::Optional to optimize for trivially copyable types. The build failed because of static_asserts checking that AST attributes are trivially destructible (PR #19670).
The optimization was removed from LLVM because of an apparent bug in GCC that no one has yet figured out how to work around. In the meantime, I have reapplied the llvm::Optional code in the swift-llvm repo. It would be good to eventually find a way for Swift to work with LLVM's trunk without requiring this divergent change. It seems like std::optional is trivial for trivial types, so perhaps someday we can switch to use that. Or maybe the GCC bug will get fixed and llvm::Optional can re-add the optimization.
The text was updated successfully, but these errors were encountered: