[LLVMbugs] [Bug 323] NEW: llvm-gcc crashes on union with bitfield
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Apr 20 08:02:49 PDT 2004
http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=323
Summary: llvm-gcc crashes on union with bitfield
Product: tools
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: llvm-gcc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: criswell at uiuc.edu
The following code crashes llvm-gcc:
struct dvd_send_key {
unsigned agid : 2;
unsigned char key[5];
};
typedef union {
struct dvd_send_key lsk;
} dvd_authinfo;
dvd_authinfo * ai;
I've done some digging, and what I've found is kinda neat:
llvm-gcc uses llvm_type_get_size() to determine what LLVM type to use for a
field of x bits. Well, in this case, it is not considering the array of 5 bytes
in dvd_send_key as an array; instead, it is asking llvm_type_get_size() for an
LLVM type of 40 (5*8) bits. If you change it to 4, the code works (8*4=32)
bits, an integer.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the llvm-bugs
mailing list