[LLVMbugs] [Bug 131] NEW: [llvm-gcc] Funky struct casting: "tree not supported by llvm"
bugzilla-daemon at zion.cs.uiuc.edu
bugzilla-daemon at zion.cs.uiuc.edu
Tue Nov 18 14:15:00 PST 2003
http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=131
Summary: [llvm-gcc] Funky struct casting: "tree not supported by
llvm"
Product: tools
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: llvm-gcc
AssignedTo: sabre at nondot.org
ReportedBy: brukman+bugs at uiuc.edu
Reduced from linux-2.4.22/arch/x86/kernel/pageattr.c
% cat pageattr.i
typedef struct { unsigned long pgprot; } pgprot_t;
void split_large_page(unsigned long addr, pgprot_t prot)
{
(addr ? prot : ((pgprot_t) { 0x001 } )).pgprot;
}
% llvm-gcc pageattr.i
ERROR: In function c_llvm_expand_lvalue_expr:5607, tree not handled by LLVM yet!
<cond_expr 0x40019840
type <record_type 0x40277e00 pgprot_t type_0 SI
size <integer_cst 0x4001b7d0 constant 32>
unit size <integer_cst 0x4001b7f8 constant 4>
align 32 symtab 0 alias set -1
fields <field_decl 0x40277c40 pgprot type <integer_type 0x4001d540 long
unsigned int>
unsigned SI file pageattr.i line 429
size <integer_cst 0x4001b208 constant 32>
unit size <integer_cst 0x4001b294 constant 4>
align 32 offset_align 32
offset <integer_cst 0x4001b884 constant 0>
bit offset <integer_cst 0x4001b924 constant 0> context <record_type
0x40277cb0> arguments <integer_cst 0x4001b884 0>> context <translation_unit_decl
0x4001d070>>
side-effects
arg 0 <eq_expr 0x4026a570
type <integer_type 0x4001d3f0 int SI size <integer_cst 0x4001b208 32>
unit size <integer_cst 0x4001b294 4>
align 32 symtab 0 alias set -1 precision 32 min <integer_cst
0x4001b26c -2147483648> max <integer_cst 0x4001b280 2147483647>
pointer_to_this <pointer_type 0x4022abd0>>
arg 0 <parm_decl 0x40277e70 addr type <integer_type 0x4001d540 long
unsigned int>
unsigned used SI file pageattr.i line 431 size <integer_cst
0x4001b208 32> unit size <integer_cst 0x4001b294 4>
align 32 context <function_decl 0x40279000 split_large_page> result
<integer_type 0x4001d540 long unsigned int> initial <integer_type 0x4001d540
long unsigned int> arg-type <integer_type 0x4001d540 long unsigned int>
arg-type-as-written <integer_type 0x4001d540 long unsigned int> chain <parm_decl
0x40277ee0 prot>>
arg 1 <integer_cst 0x40278c1c constant 0>>
arg 1 <compound_literal_expr 0x40278ce4 type <record_type 0x40277e00 pgprot_t>
side-effects
arg 0 <decl_stmt 0x40278cd0 arg 0 <var_decl 0x40279150>>>
arg 2 <parm_decl 0x40277ee0 prot type <record_type 0x40277e00 pgprot_t>
used SI file pageattr.i line 431 size <integer_cst 0x4001b7d0 32> unit
size <integer_cst 0x4001b7f8 4>
align 32 context <function_decl 0x40279000 split_large_page> result
<record_type 0x40277e00 pgprot_t> initial <record_type 0x40277e00 pgprot_t>
arg-type <record_type 0x40277e00 pgprot_t> arg-type-as-written <record_type
0x40277e00 pgprot_t>>>
pageattr.i: In function `split_large_page':
pageattr.i:433: internal compiler error: in c_llvm_expand_lvalue_expr, at
llvm-expand.c:5607
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.cs.uiuc.edu> for instructions.
------- 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