blob: fce6226bb71d31b83a3967e8b3d572533b2a96a2 [file] [log] [blame]
// PR target/63815
// { dg-do run { target { { i?86-*-linux* x86_64-*-linux* } && lp64 } } }
// { dg-options "-mcmodel=large" }
// { dg-additional-options "-fpic" { target fpic } }
struct ICCStringClass
{
virtual int CreateString (int) = 0;
};
struct AGSCCDynamicObject
{
virtual void Unserialize () = 0;
};
struct ScriptString:AGSCCDynamicObject, ICCStringClass
{
virtual int CreateString (int);
virtual void Unserialize ();
};
int
__attribute__ ((noinline))
CreateNewScriptString (int fromText, bool reAllocate = true)
{
return fromText;
}
int
__attribute__ ((noinline))
ScriptString::CreateString (int fromText)
{
return CreateNewScriptString (fromText);
}
void
__attribute__ ((noinline))
ScriptString::Unserialize ()
{
}
int
main ()
{
ICCStringClass *x = new ScriptString;
if (x->CreateString (1) != 1)
__builtin_abort ();
return 0;
}