mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-01 05:34:29 +00:00
c03cca7b2f
There are three compiler bugs that influence this decision: - Clang writing to (validly) destroyed coroutine frame with -O0 and -fsanitize=null,address under some conditions (https://godbolt.org/z/17Efq5Ma5) (AK_COROUTINE_DESTRUCTION_BROKEN); - GCC being unable to handle statement expressions in coroutines (AK_COROUTINE_STATEMENT_EXPRS_BROKEN); - GCC being unable to deduce template type parameter for TryAwaiter with nested CO_TRYs (AK_COROUTINE_TYPE_DEDUCTION_BROKEN). Instead of growing an ifdef soup in AK/Coroutine.h and LibTest/AsyncTestCase.h, define three macros in AK/Platform.h that correspond to these bugs and use them accordingly in the said files. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Forward.h | ||
Header.h | ||
HeaderMap.h | ||
Http11Connection.cpp | ||
Http11Connection.h | ||
HttpRequest.cpp | ||
HttpRequest.h | ||
HttpResponse.cpp | ||
HttpResponse.h | ||
HttpsJob.cpp | ||
HttpsJob.h | ||
Job.cpp | ||
Job.h |