// RUN: %clang_builtins %s %librt -fnested-functions -o %t && %run %t
// REQUIRES: librt_has_trampoline_setup

#include <stdio.h>
#include <string.h>
#include <stdint.h>

/*
 * Tests nested functions
 * The ppc compiler generates a call to __trampoline_setup
 * The i386 and x86_64 compilers generate a call to ___enable_execute_stack
 */

/*
 * Note that, nested functions are not ISO C and are not supported in Clang.
 */

#if !defined(__clang__)

typedef int (*nested_func_t)(int x);

nested_func_t proc;

int main() {
    /* Some locals */
    int c = 10;
    int d = 7;
    
    /* Define a nested function: */
    int bar(int x) { return x*5 + c*d; };

    /* Assign global to point to nested function
     * (really points to trampoline). */
    proc = bar;
    
    /* Invoke nested function: */
    c = 4;
    if ( (*proc)(3) != 43 )
        return 1;
    d = 5;
    if ( (*proc)(4) != 40 )
        return 1;

    /* Success. */
    return 0;
}

#else

int main() {
    printf("skipped\n");
    return 0;
}

#endif
