// Error a propósito: lo mismo que return_local.c, pero gcc no lo detecta sin optimizar.
#include <stdio.h>

int *make_value(void) {
    int value = 42;
    int *p = &value;
    return p;
}

int other_call(void) {
    int a = 1000;
    int b = 2000;
    return a + b;
}

int main(void) {
    int *p = make_value();
    printf("primero: %d\n", *p);
    other_call();
    printf("después: %d\n", *p);
    return 0;
}
