This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
bug: trashed register.
- To: gcc-bugs at gcc dot gnu dot org
- Subject: bug: trashed register.
- From: Marc Esipovich <marc at corky dot net>
- Date: Mon, 12 Feb 2001 00:41:02 +0200
Hi,
I've searched the list archives and found a mentioning for a very similar
bug which got fixed, http://gcc.gnu.org/ml/gcc-bugs/2000-01/msg00569.html
but I am not really sure it's the same bug, as I don't really understand
what triggers it. which version of gcc would you recommend me to try?
I'm using gcc 2.95.2-5 from the 1.1.6 Cygwin release. but I've also tried
2.95.2-7 from the 1.1.8 release with exactly the same results.
When compiling with optimization level higher than zero a local function
variable gets overwritten by subsequent calles to other functions within and
not restored, pseudo code example:
func1(void *param1, int param2) {
internal_func(param1);
<- at this point, param1 is not restored and is filled with values
from its internal state inside internal_func().
}
The problem is very much reproduceable, the code works fine
at optimization level zero and breaks at level one or higher.
bye,
Marc.
--
marc @ corky.net
fingerprint = D1F0 5689 967F B87A 98EB C64D 256A D6BF 80DE 6D3C
/"\
\ / ASCII Ribbon Campaign
X Against HTML Mail
/ \
----- End forwarded message -----
bye,
Marc.
--
marc @ corky.net
fingerprint = D1F0 5689 967F B87A 98EB C64D 256A D6BF 80DE 6D3C
/"\
\ / ASCII Ribbon Campaign
X Against HTML Mail
/ \