URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O2" } */
|
/* { dg-options "-O2" } */
|
/* PRE testcase for PR 24231, problem with PRE coalescing abnormal phis. */
|
/* PRE testcase for PR 24231, problem with PRE coalescing abnormal phis. */
|
struct MemoryManager {
|
struct MemoryManager {
|
virtual void deallocate() = 0;
|
virtual void deallocate() = 0;
|
};
|
};
|
struct XalanVector {
|
struct XalanVector {
|
~XalanVector() {
|
~XalanVector() {
|
m_memoryManager->deallocate();
|
m_memoryManager->deallocate();
|
}
|
}
|
void swap(XalanVector& theOther) {
|
void swap(XalanVector& theOther) {
|
MemoryManager* const theTempManager = m_memoryManager;
|
MemoryManager* const theTempManager = m_memoryManager;
|
m_memoryManager = theOther.m_memoryManager;
|
m_memoryManager = theOther.m_memoryManager;
|
theOther.m_memoryManager = theTempManager;
|
theOther.m_memoryManager = theTempManager;
|
theOther.m_size = 0;
|
theOther.m_size = 0;
|
}
|
}
|
void push_back() {
|
void push_back() {
|
XalanVector theTemp(*this);
|
XalanVector theTemp(*this);
|
theTemp.push_back();
|
theTemp.push_back();
|
swap(theTemp);
|
swap(theTemp);
|
}
|
}
|
MemoryManager* m_memoryManager;
|
MemoryManager* m_memoryManager;
|
int m_size;
|
int m_size;
|
};
|
};
|
void f(void) {
|
void f(void) {
|
XalanVector tempVector;
|
XalanVector tempVector;
|
tempVector.push_back();
|
tempVector.push_back();
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.