This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/53135] internal compiler error: in value_format, at dwarf2out.c:8010
- From: "raj.khem at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 27 Apr 2012 05:59:56 +0000
- Subject: [Bug c++/53135] internal compiler error: in value_format, at dwarf2out.c:8010
- Auto-submitted: auto-generated
- References: <bug-53135-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53135
Khem Raj <raj.khem at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |arm-oe-linux-gnueabi
Known to fail| |4.7.0, 4.7.1
--- Comment #1 from Khem Raj <raj.khem at gmail dot com> 2012-04-27 05:59:56 UTC ---
testcase
class QAbstractFileEngine
{
public:
enum FileFlag {
ReadOwnerPerm = 0x4000, WriteOwnerPerm = 0x2000, ExeOwnerPerm = 0x1000,
ReadUserPerm = 0x0400, WriteUserPerm = 0x0200, ExeUserPerm = 0x0100,
ReadGroupPerm = 0x0040, WriteGroupPerm = 0x0020, ExeGroupPerm = 0x0010,
ReadOtherPerm = 0x0004, WriteOtherPerm = 0x0002, ExeOtherPerm = 0x0001,
};
bool setPermissions(unsigned int perms);
};
extern const char* str;
extern bool foo(const char*, int);
bool QAbstractFileEngine::setPermissions(unsigned int perms)
{
bool ret = false;
int mode = 0;
if (perms & ReadOwnerPerm)
mode |= 0400;
if (perms & WriteOwnerPerm)
mode |= 0200;
if (perms & ExeOwnerPerm)
mode |= 0100;
if (perms & ReadUserPerm)
mode |= 0400;
if (perms & WriteUserPerm)
mode |= 0200;
if (perms & ExeUserPerm)
mode |= 0100;
if (perms & ReadGroupPerm)
mode |= (0400 >> 3);
if (perms & WriteGroupPerm)
mode |= (0200 >> 3);
if (perms & ExeGroupPerm)
mode |= (0100 >> 3);
if (perms & ReadOtherPerm)
mode |= ((0400 >> 3) >> 3);
if (perms & WriteOtherPerm)
mode |= ((0200 >> 3) >> 3);
if (perms & ExeOtherPerm)
mode |= ((0100 >> 3) >> 3);
ret = foo(str, mode) == 0;
return ret;
}