[Bug optimization/15230] [3.5 Regression] Building xnmake using a 3.5.0 GNAT results in STORAGE_ERROR
chrisp_42 at bigpond dot com
gcc-bugzilla@gcc.gnu.org
Tue May 4 23:10:00 GMT 2004
------- Additional Comments From chrisp_42 at bigpond dot com 2004-05-04 23:10 -------
(In reply to comment #1)
> Looks like a codegen issue of some sort.
> Probably using less aggressive optimization flags would avoid this problem.
>
> Does the problem still reproduce with current sources btw ?
>
> Arno
This problem started occurring with the following patch:
date: 2004/04/17 06:53:41; author: bonzini; state: Exp; lines: +19 -0
2004-04-17 Paolo Bonzini <bonzini@gnu.org>
* opts.c (decode_options): Do not enable flag_rename_registers
and flag_web at -O3.
* toplev.c (flag_rename_registers): Initialize
flag_rename_registers and flag_web to
AUTODETECT_FLAG_VAR_TRACKING.
(default_debug_hooks): New global.
(process_options): Initialize default_debug_hooks. Warn if
-fvar-tracking specified but not supported by the current
debug format. Do not run var tracking at -O0 or if not
supported by the current debug format, even if
-fvar-tracking was given. If -fno-rename-registers
is not specified, always run register renaming if var
tracking is supported by the default debugging information
format for the target, and we are at -O1 or higher; similarly
for -fweb, but only at -O2 or higher.
* doc/invoke.texi (Optimize Options): Document this.
This patch did not really change the compiler much - it just enabled the
rename-registers and web optimizations at lower optimization levels. The
rename-registers had other problems and was disabled later with this patch:
date: 2004/04/20 09:27:25; author: bonzini; state: Exp; lines: +10 -0
2004-04-19 Paolo Bonzini <bonzini@gnu.org>
Revert part of 2004-04-17 change that moved -frename-registers
to -O1. -frename-registers is buggy.
* toplev.c (flag_rename_registers): Initialize to 0.
* doc/invoke.texi (Optimize options): Move -frename-registers
to "Not triggered by any -O level" section. Adjust commentary
accordingly.
The boot problem still remains so it is some miscompilation related to -fweb.
I can confirm that if -fweb is disabled, the compiler that is build can also
bootstrap itself.
If gnat-spitbot and gnat-spitbol-patterns are compiled with -fno-web and linked
with xnmake the error trasnforms to a constraint_error. The result of all this
is that I still do not know if the problem is that the compiler generates bad
code or whether the ada runtime library is miscompiled. Anyway more information
for someone that knows what -fweb does.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15230
More information about the Gcc-bugs
mailing list