Hi Martin, Joseph, I'm still working on implementing this, returning adjusted arrays. I'm having some issues and would like to ask for help. I've moved the push_scope()/pop_scope() calls to supposedly extend the scope of the variables. However, I'm not seeing the results I expected from it. Here's what I'm seeing with these patches: $ echo 'int f(int n)[n];' \ | /opt/local/gnu/gcc/retarr/bin/gcc -x c /dev/stdin -Wsign-conversion /dev/stdin:1:6: warning: ALX: J [-Wsign-conversion] /dev/stdin:1:12: warning: ALX: J [-Wsign-conversion] /dev/stdin:1:13: warning: ALX: I [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: H [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: G [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: F [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: E [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: D [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: C [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: B [-Wsign-conversion] /dev/stdin:1:14: warning: ALX: A [-Wsign-conversion] /dev/stdin:1:14: error: ‘n’ undeclared here (not in a function) The ALX warnings are there to kind-of print the stack. Supposedly, I've extended (in patch 4/5) the scope by moving the pop_scope() call from where it was (somewhere between debug messages (2nd) J and I to after A (and the actual error). I was expecting that to remove the error, but it didn't. Do you know why that is not enough? Have a lovely night! Alex Alejandro Colomar (5): gcc/c/c-decl.cc: Return arrays gcc/c/c-decl.cc: Allow VMTs at file scope gcc/c/c-parser.cc: Refactor code gcc/c/c-parser.cc: Extend the scope a little bit dbg gcc/c/c-decl.cc | 52 +++++++++++++++++++++++++++++++++++------------ gcc/c/c-parser.cc | 42 ++++++++++++++++++++++++++++++++------ gcc/c/c-typeck.cc | 3 +++ 3 files changed, 78 insertions(+), 19 deletions(-) Range-diff against v0: -: ----------- > 1: ef2d9f64dde gcc/c/c-decl.cc: Return arrays -: ----------- > 2: 991aa4dd2ea gcc/c/c-decl.cc: Allow VMTs at file scope -: ----------- > 3: 54bb6934166 gcc/c/c-parser.cc: Refactor code -: ----------- > 4: 4d77c9e4f74 gcc/c/c-parser.cc: Extend the scope a little bit -: ----------- > 5: a3f8a6e438a dbg -- 2.49.0