GCC local variable allocation (M68K)
Robert J. Brown
rj@eli.wariat.org
Mon Feb 24 20:23:00 GMT 1997
I have just been working with the Gnu C++ compiler, and using inline
member functions to return a reference to a local object is a slick
way to implement subscripting of bitfields in memory mapped I/O device
registers. This technique would not work if stack space for block
local objects were recycled the way you want. It is necessary for the
compiler to generate a stack that expands for the duration of the file
scoped function for the reference to be valid outside the scope of of
the inline member function. The locals are only reclaimed at the end
of the outermost block that has file scope.
I do think that there is a compiler option to make it behave the way
you want, however.
--
-------- "And there came a writing to him from Elijah" [2Ch 21:12] --------
Robert Jay Brown III rj@eli.wariat.org http://eli.wariat.org 1 847 705-0424
Elijah Laboratories Inc.; 37 South Greenwood Avenue; Palatine, IL 60067-6328
----- M o d e l i n g t h e M e t h o d s o f t h e M i n d ------
More information about the crossgcc
mailing list