On Sat, 2014-03-08 at 21:41 +0100, Franck Jullien wrote:
> Hi, I get an error while compiling GHDL 0.31:
>
> gcc -c -I./ -I/home/franck/ghdl/src/gcc-4.8.2/gcc/vhdl/grt
> -gnatec/home/franck/ghdl/src/gcc-4.8.2/gcc/vhdl/grt/grt.adc -O -g -I-
> /home/franck/ghdl/src/gcc-4.8.2/gcc/vhdl/grt/grt-values.adb
> grt-values.adb:116:13: violation of restriction "No_Secondary_Stack"
> at /home/franck/ghdl/src/gcc-4.8.2/gcc/vhdl/grt/grt.adc:32
> I'm using:
>
> gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
> GNAT 4.4.7 20120313 (Red Hat 4.4.7-4)
>
> Is that a known error ?
Not exactly (to me) but it might explain why none of the other error
outputs from grt-values.adb use string concatenation.
The errors occur at lines of the form:
Error_E ("'value: " & Str & " not in enumeration " &
Enum_Rti.Name.all(1..strlen(Enum_Rti.Name)));
which if simplified to
Error_E ("'value: not in enumeration");
will probably work. Ditto the second error at line 386...
This code is probably my fault, but I haven't seen any build failures
from it. However I've never tried building ghdl-0.31 with any version of
FSF gcc/gnat older than 4.6, and I suspect this code relies on
improvements in the newer compiler. (The other error reports avoid
string concatenation - possibly at the cost of clarity in reporting).
Others have built ghdl-0.31 with the Adacore Libre version fo Gnat which
is based on a fairly old gcc version (4.4 or 4.5) but the Gnat part of
it is comprehensively updated (by Adacore!) so you may be the first to
try building with this specific compiler version.
I don't see us as supporting such an old compiler, but if you can't
upgrade to a newer one, the above information should let you patch
grt-values to build OK.
(OTOH, if this is a Red Hat packaging of the Adacore Libre version, I
don't understand what's going on)
- Brian
_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss