[libcxx-commits] [PATCH] D86102: [libunwind] Ensure enough alignment for unw_cursor_t for SEH build configurations

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Aug 23 12:32:35 PDT 2020


mstorsjo added a comment.

In D86102#2232290 <https://reviews.llvm.org/D86102#2232290>, @rprichard wrote:

> After this change, I see a compile error with GCC. There's something broken with libunwind's static_assert emulation <https://github.com/llvm/llvm-project/blob/cc7bf9bcbfbc8d8188d9fe540c2bc1aee23824af/libunwind/src/config.h#L25-L29>. I'd guess the fix is to remove that emulation and simply use the C++11 static_assert.
>
> Regarding static_assert: there are two compile_time_assert_failed[] declarations within a single scope, and GCC thinks the declarations are incompatible. Somehow it matters that the array condition depends on a template parameter. Here's a simple demo that compiles with Clang but not GCC, https://godbolt.org/z/M3sc4x.

Ouch, sorry about this - I hadn't really anticipated such an error.

@hans - I guess that makes it too messy for backporting. Or I guess it could be done by leaving out the static asserts...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86102



More information about the libcxx-commits mailing list