[RFC v1 0/5] Returning (adjusted) arrays

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux