[gccsdk] GCC 4.7.4 Rel 1 Dev 2014-01-08: initial comments and feedback.

Lee Noar leenoar at sky.com
Thu Mar 6 02:46:25 PST 2014

On 05/03/14 16:07, Duncan Moore wrote:
> On 05/03/2014 12:14, Lee Noar wrote:
>> On 04/03/14 11:51, Duncan Moore wrote:
>>> On 03/03/2014 20:39, Lee Noar wrote:
>>>> The loop control instructions are missing as well as the function
>>>> epilogue; the compiler knew it was creating an infinite loop.
>>>> I assume you built the compiler yourself on the 8th January?
>>> No. I'm using
>>> http://www.riscos.info/downloads/gccsdk/testing/4.7.4/gccsdk-gcc-src-4.7.4-Rel1dev.tar.bz2.
>> Unfortunately, I still can't reproduce your results. I've downloaded
>> the same version of the compiler as you have above and that produces
>> a working binary. I've also rebuilt GCCSDK from scratch with the latest
>> source from upstream, and that gives the correct result.
> Firstly, I gave you the wrong name of the file I downloaded - it was the
> binary
> http://www.riscos.info/downloads/gccsdk/testing/4.7.4/gccsdk-gcc-bin-4.7.4-Rel1dev.zip
> , not the source code. Sorry about that.

No problem, I assumed you meant the binary.

> I've downloaded it twice, and it's identical. I've also used two
> different un-zippers.


> I'm also having trouble with C++. Here's a simple test case. The
> *compiler* appears to get into an infinite loop and never produces any
> output, not even stdout - or maybe it just takes an exceedingly long
> time to compile. It worked on gcc 4.1.2, and works on Cywin gcc 4.8.2.
> Can you reproduce this? NB for historical reasons, I think asinh is in
> global scope, not std, even with C++11.
> #include <iostream>
> #include <cmath>
> //using std::asinh;
> int main(void) {
> std::cout << asinh(2) << '\n';
> return 0;
> }

Yes, I can reproduce this in the native compiler running on rpcemu.
The cross compiler seems to work though, so the problem must be in the
RISC OS code.

I've tried using printf instead of cout and the problem's still there,
so that rules out iostreams. So, it's the use of asinh that's the cause.

I'll look into it, but it's something of a needle in a haystack :-(

More information about the gcc mailing list