Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

GCC 4.1.2 Issue. New toolchain soon?

I'm running into a bug where the following code causes a compiler error:

class foo {
public:
        virtual const char* name() const throw();
        virtual const char* faux_name() const throw();
};
const char* foo::name() const throw() 
{
        return "bar";
}
const char* foo::faux_name() const throw() 
{
        return name();
}

Assuming it's named 'foo.cpp':

 nios2-linux-gnu-g++ -fPIC -O2 -c foo.cpp -o foo.o
foo.cpp: In member function 'virtual const char* foo::faux_name() const':
foo.cpp:15: error: Attempt to delete prologue/epilogue insn:
(insn 44 43 45 0 (set (reg:SI 22 r22)
        (plus:SI (reg:SI 22 r22)
            (reg:SI 8 r8))) -1 (nil)
    (nil))
foo.cpp:15: internal compiler error: in propagate_one_insn, at flow.c:1699
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:...> for instructions.

Normally I'd go to GCC for this, but it's a very outdated compiler version and no longer supported. They don't even use flow.c anymore. This only happens with the nios2-linux-gnu-xxx tools, and not the normal linux tools, even though they're both 4.1.2.

Are there any plans on moving toolchain-mmu to a newer version of GCC? Anybody do this themselves? Can I just replace gcc4.3.5 in the gcc4 toolchain build instructions?

Thanks.

21 Replies