OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.pt/] [spec30.C] - Diff between revs 154 and 816

Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
// { dg-do run  }
// { dg-do run  }
#include 
#include 
template 
template 
struct S {
struct S {
  void *operator new (size_t);
  void *operator new (size_t);
  void *operator new (size_t, int);
  void *operator new (size_t, int);
  void operator delete (void*);
  void operator delete (void*);
};
};
static void* s[2];
static void* s[2];
template <>
template <>
void* S::operator new (size_t b)
void* S::operator new (size_t b)
{
{
  s[0] = ::operator new(b);
  s[0] = ::operator new(b);
  return s[0];
  return s[0];
}
}
template <>
template <>
void* S::operator new (size_t b, int)
void* S::operator new (size_t b, int)
{
{
  s[1] = ::operator new(b);
  s[1] = ::operator new(b);
  return s[1];
  return s[1];
}
}
template <>
template <>
void S::operator delete (void*)
void S::operator delete (void*)
{
{
}
}
int main()
int main()
{
{
  S* s1 = new S;
  S* s1 = new S;
  S* s2 = new(3) S;
  S* s2 = new(3) S;
  if (s1 != s[0] || s2 != s[1])
  if (s1 != s[0] || s2 != s[1])
    return 1;
    return 1;
  delete s1;
  delete s1;
  delete s2;
  delete s2;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.