[parisc-linux] c++/10091: [3.3 regression] internal compiler error: in cp_expr_size, at cp/cp-lang.c:307
Randolph Chung
Randolph Chung <tausq@debian.org>
15 Mar 2003 07:54:02 -0000
>Number: 10091
>Category: c++
>Synopsis: [3.3 regression] internal compiler error: in cp_expr_size, at cp/cp-lang.c:307
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Sat Mar 15 07:56:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Randolph Chung <tausq@debian.org>
>Release: 3.3 20030309 (Debian prerelease) (Debian testing/unstable)
>Organization:
>Environment:
System: Linux gsyprf11.external.hp.com 2.4.20-pa18-UP #1 Sat Jan 4 22:06:52 PST 2003 parisc64 unknown unknown GNU/Linux
Architecture: parisc64
>Description:
The following code (extracted from goldedplus), when compiled with g++ -c -O2 bug.cpp, gives:
bug.cpp: In member function `int ftn_golded_nodelist_index::addrcmp() const':
bug.cpp:34: internal compiler error: in cp_expr_size, at cp/cp-lang.c:307
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
class ftn_addr {
public:
unsigned short zone;
unsigned short net;
unsigned short node;
unsigned short point;
ftn_addr();
ftn_addr(const ftn_addr& a);
int compare(const ftn_addr& other) const;
ftn_addr& operator=(const ftn_addr& a);
};
#pragma pack(1)
struct _GEIdx {
ftn_addr addr; // Node address
_GEIdx() : addr() {}
};
#pragma pack()
class ftn_golded_nodelist_index {
protected:
_GEIdx current;
ftn_addr searchaddr;
int addrcmp() const;
public:
ftn_golded_nodelist_index();
};
int ftn_golded_nodelist_index::addrcmp() const {
return searchaddr.compare(current.addr);
}
>How-To-Repeat:
see description
compiles fine with g++-3.2
>Fix:
unknown
>Release-Note:
>Audit-Trail:
>Unformatted: