Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 38f082f0 authored by Yi Kong's avatar Yi Kong
Browse files

Workaround Clang hangs indefinitely

When building the function under -O1, Clang hangs indefinitely. It works
fine under either -O0 or -O2. Workaround by turning off optimization for
just the offending function.

Test: presubmit
Bug: 296850773
Bug: 294796809
Change-Id: Ia72a9e9e56183d71296cd5d8628461197cb5b2a4
parent 7f2619dd
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -54,6 +54,10 @@ constexpr V1_0::PerformanceInfo kNoPerformanceInfo = {
        .execTime = std::numeric_limits<float>::max(),
        .powerUsage = std::numeric_limits<float>::max()};

// FIXME: This function causes Clang to hang indefinitely when building with
// -O1. Turn off optimization as a temporary workaround.
// http://b/296850773
#pragma clang optimize off
template <typename... Args>
auto makeCallbackReturn(Args&&... args) {
    return [argPack = std::make_tuple(std::forward<Args>(args)...)](const auto& cb) {
@@ -61,6 +65,7 @@ auto makeCallbackReturn(Args&&... args) {
        return Void();
    };
}
#pragma clang optimize on

sp<MockDevice> createMockDevice() {
    const auto mockDevice = MockDevice::create();