This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/14763] [3.3/3.4/3.5 Regression] internal compiler error: in find_function_data, at function.c:320
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Mar 2004 23:35:12 -0000
- Subject: [Bug c++/14763] [3.3/3.4/3.5 Regression] internal compiler error: in find_function_data, at function.c:320
- References: <20040328220714.14763.j_s@telia.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-03-28 23:35 -------
Confirmed here is a semi reduced testcase:
typedef unsigned int size_t;
class Exception
{
public:
Exception() { };
};
class SettingsManager
{
public:
enum IntSetting { INT_FIRST,
BUFFER_SIZE,
INT_LAST };
int get(IntSetting key, bool useDefault = true) const {
}
static SettingsManager *getInstance();
private:
};
class File {
public:
enum {
CREATE = 0x02,
TRUNCATE = 0x04
};
enum {
WRITE = 0x02,
};
File(const char* aFileName, int access, int mode) throw() {
}
private:
File(const File&);
File& operator=(const File&);
};
template<bool managed>
class BufferedOutputStream {
public:
BufferedOutputStream(File* aStream, size_t aBufSize = (SettingsManager::getInstance()-
>get(SettingsManager::BUFFER_SIZE, true)) * 1024) : s(aStream), pos(0), bufSize(aBufSize){}
private:
File * s;
size_t pos;
size_t bufSize;
};
class QueueManager
{
void saveQueue() throw();
};
void QueueManager::saveQueue() throw() {
File ff(".tmp", File::WRITE, File::CREATE | File::TRUNCATE);
BufferedOutputStream<false> f(&ff);
}
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-03-28 23:35:12
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14763