http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54625

--- Comment #3 from Markus Trippelsdorf <markus at trippelsdorf dot de> 
2012-09-22 08:06:55 UTC ---
Here is another example (this one triggers the same gcc_assert as in HJ's 
regression report):

markus@x4 moz_lto_debug % < test.i
float a;
double sin ();
update_filter ()
{
    a = sin (0);
}

markus@x4 moz_lto_debug % < test.ii
extern "C" double sin (double);
typedef double (*UnaryFunType) (double);
class A
{
public:
    int hash ();
    void lookup (UnaryFunType p1)
    {
        int a = hash ();
        p1 (0);
    }
};
A b, c;
void
math_sin_impl ()
{
    b.lookup (sin);
}

void
js_math_sqrt ()
{
    c.lookup (0);
}

markus@x4 moz_lto_debug % gcc -o test.o -c -flto test.i
markus@x4 moz_lto_debug % g++ -r -nostdlib test.o test.ii -flto -O2
In file included from test.ii:1:0,
                 from :4:
test.ii: In function ‘math_sin_impl’:
test.ii:17:19: internal compiler error: in cgraph_clone_edge, at
cgraphclones.c:123
     b.lookup (sin);
                   ^
Please submit a full bug report,

Reply via email to