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

Commit 18395cb5 authored by Stephen Hines's avatar Stephen Hines
Browse files

Ignore explicit infinite recursion.

Clang 3.8 warns against this now, and it is tripping up part of a test.
We suppress the warning, since we are trying to actually test that this
behavior is properly handled.

Change-Id: I8705900572e1a6704bbdc001fece3e2d16c7077c
parent 8ec2d8fe
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ __attribute__ ((noinline)) static int smash_stack(volatile int* plen) {
    return 0;
}

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winfinite-recursion"

static void* global = 0; // So GCC doesn't optimize the tail recursion out of overflow_stack.

__attribute__((noinline)) static void overflow_stack(void* p) {
@@ -60,6 +63,8 @@ __attribute__((noinline)) static void overflow_stack(void* p) {
    overflow_stack(&buf);
}

#pragma clang diagnostic pop

static void *noisy(void *x)
{
    char c = (uintptr_t) x;