From: Maarten B. <sou...@ds...> - 2004-08-31 09:39:18
|
> > On Mon, 30 Aug 2004, Maarten Brock wrote: > > > Just saw the latest changes to the regression tests. I observed you > > defined idata empty for the hc08 port in zeropad.c. I expected it to be > > defined as data (that's what I did for my local copy and that failed the > > test yesterday). > > Ah I see. Yes, that would have been better; I had assumed "data" was > already in the storage list. I've just re-run the test with "idata" > defined as "data" and it still passes. It passes here too. I think "data" was not in the list because there is an empty entry in the list. But the hc08 port doesn't default to "data" but to "xdata". Why is that b.t.w. ? You don't want to travel into large and small memory models? > > > And does the port understand "code" and "near" or "far"? They are not > > documented. > > Yes, they are understood. Like the mcs51 port, "near" is synonymous with > "data", "far" with "xdata", and objects declared as "code" will be > allocated in the CSEG area. Unlike the mcs51 port, the pointers "* near", > "* data", "* far", "* xdata", "* code", and "*" are all treated > identically by the back end code generator (although the front end may > still have some residual pickiness from the mcs51 influence) since the > hc08 has a single memory addressing space. > > > B.t.w. with my version of vprintf even bug-927659.c passes the tests. A > > little more optimizing and testing and I will submit it. > > Great! > > Erik There was a little discussion about the regression test makefile about two weeks ago and we have had it also in the past. It makes me wonder what makefile is used on the CF. I feel uncertain to change this makefile in cvs, but I would very much like to do that, so that anyone can run the regression tests with the default makefile. And with your latest commit you introduced _FLOAT_FUNC_REENTRANT. When looking at it some more I think it's very odd this ever worked. Most functions were declared without reentrant in math.h but with it in the implementation. I have no idea how the compiler could handle this. Is it all taken care of by the --float- reent option? And have you now made all those functions reentrant permanently? If so, the --float-reent option is no longer necessary(?) And finally some functions are left without reentrant keyword. As you can see, I'm totally confused here. |