commit | 2f51869984b0d3cfca0ebf4dc3718b129222c32b | [log] [tgz] |
---|---|---|
author | Evgenii Stepanov <eugenis@google.com> | Thu Aug 06 11:32:33 2020 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Aug 27 20:40:32 2020 -0700 |
tree | 5a41a88590ed382157b9b841db2835fcdab25a16 | |
parent | 49ed772d18bb259a40e60ea77a3db6ef04a12908 [diff] |
Fix CFI issues in <future> This change fixes errors reported by Control Flow Integrity (CFI) checking when using `std::packaged_task`. The errors mostly stem from casting the underlying storage (`__buf_`) to `__base*`, even if it is uninitialized. The solution is to wrap `__base*` access to `__buf_` behind a getter marked with _LIBCPP_NO_CFI. Differential Revision: https://reviews.llvm.org/D82627 GitOrigin-RevId: 189ba3db8653eaefc191599dd60d9aa6b0127c44