On 02.06.2016 21:23, Maarten Brock wrote:
>> On 31.05.2016 00:09, Maarten Brock wrote:
>>> Hello SDCC followers,
>>>
>>> Today the first Release Candidate (RC1) for SDCC 3.6.0 has been created.
>>> As always it has been put online in our SourceForge File section.
>>> https://sourceforge.net/projects/sdcc/files/
>>>
>>> If you have the time, please verify it and report back with the positive
>>> or negative results.
>>
>> Bug #2506 (even though it probably is the same as #2450) seems like a
>> serious issue to me. --stack-auto is an important option, necessary for
>> quite some code to work. And our manual states "If this option is used
>> all source files in the project should be compiled with this option.",
>> so one would need a compatible library.
>>
>> Philipp
>
> AFAIK hc08 --stack-auto has never passed regression tests. So even though
> important I wouldn't want to delay the release for this bug. Still, good
> that you tested it.
>
> Maarten
The attached patch does not fix the underlying issue. It is just a
workaround in codegen. It changes hc08 behaviour only for those cases
for which we got "FATAL Compiler Internal Error in aopForSym()" before,
so sńothing that previously compiled will be affected. hc08 regression
tests still pass. hc08 regression tests with --stack-auto pass with two
exceptions. Could this go in?
Philipp
Index: ChangeLog
===================================================================
--- ChangeLog (Revision 9613)
+++ ChangeLog (Arbeitskopie)
@@ -1,3 +1,8 @@
+2016-06-02 Philipp Klaus Krause <pkk AT spth.de>
+
+ * src/hc08/gen.c:
+ Work around an allocation issue.
+
2016-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
* .version,
Index: src/hc08/gen.c
===================================================================
--- src/hc08/gen.c (Revision 9613)
+++ src/hc08/gen.c (Arbeitskopie)
@@ -2180,7 +2180,7 @@
}
/* if it is on the stack */
- if (sym->onStack)
+ if (sym->onStack || !IN_DIRSPACE (space) && !IN_FARSPACE (space)) /* The !IN_DIRSPACE (space) && !IN_FARSPACE (space) is just a workaround for bugs #2506, #2450. */
{
sym->aop = aop = newAsmop (AOP_SOF);
aop->aopu.aop_dir = sym->rname;
@@ -2239,8 +2239,6 @@
return aop;
}
-
-
werror (E_INTERNAL_ERROR, __FILE__, __LINE__, "aopForSym should never reach here");
exit (1);
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user