[LLVMbugs] [Bug 954] NEW: Another llvm-gcc boot strap failure

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Oct 18 08:42:26 PDT 2006


           Summary: Another llvm-gcc boot strap failure
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-gcc
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: alenhar2 at uiuc.edu

The following reduction:
struct _Refcount_Base   {
  long unsigned int _M_ref_count;
  int _M_ref_count_lock;
  _Refcount_Base(long unsigned int __n) : _M_ref_count(__n) {}
  _Refcount_Base() : _M_ref_count(0) {}

struct _Rope_RopeRep : public _Refcount_Base 
  int _M_tag:8; 

int foo(_Rope_RopeRep* r) { return r->_M_tag; }

causes llvm-gcc to die with:
cc1plus: ../../source/gcc/llvm-convert.cpp:3863: LValue
TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*): Assertion `ByteAlignment*8 <
LLVMValueBitSize && "Unknown overlap case!"' failed.

stack trace:
#6  0x0000000120827d94 in TreeToLLVM::EmitLV_COMPONENT_REF (this=0x11ffff6c0,
    at ../../source/gcc/llvm-convert.cpp:3863
#7  0x00000001207f8840 in TreeToLLVM::EmitLV (this=0x11ffff6c0,
exp=0x200005c44b0) at ../../source/gcc/llvm-convert.cpp:614
#8  0x0000000120804f38 in TreeToLLVM::EmitLoadOfLValue (this=0x11ffff6c0,
exp=0x200005c44b0, DestLoc=0x0)
    at ../../source/gcc/llvm-convert.cpp:1659
#9  0x00000001207f7cd8 in TreeToLLVM::Emit (this=0x11ffff6c0, exp=0x200005c44b0,
    at ../../source/gcc/llvm-convert.cpp:510
#10 0x00000001208080a4 in TreeToLLVM::EmitMODIFY_EXPR (this=0x11ffff6c0,
exp=0x200004e0438, DestLoc=0x0)
    at ../../source/gcc/llvm-convert.cpp:2032
#11 0x00000001207f7d60 in TreeToLLVM::Emit (this=0x11ffff6c0, exp=0x200004e0438,
    at ../../source/gcc/llvm-convert.cpp:515
#12 0x00000001207fe690 in TreeToLLVM::EmitSTATEMENT_LIST (this=0x11ffff6c0,
exp=0x200005b3f80, DestLoc=0x0)
    at ../../source/gcc/llvm-convert.cpp:1168
#13 0x00000001207f7bf0 in TreeToLLVM::Emit (this=0x11ffff6c0, exp=0x200005b3f80,
    at ../../source/gcc/llvm-convert.cpp:488
#14 0x00000001207fe490 in TreeToLLVM::EmitBIND_EXPR (this=0x11ffff6c0,
exp=0x200005c4500, DestLoc=0x0)
    at ../../source/gcc/llvm-convert.cpp:1143
#15 0x00000001207f7bcc in TreeToLLVM::Emit (this=0x11ffff6c0, exp=0x200005c4500,
    at ../../source/gcc/llvm-convert.cpp:487
#16 0x00000001207d408c in llvm_emit_code_for_current_function
(fndecl=0x200005cae00) at ../../source/gcc/llvm-backend.cpp:411
#17 0x000000012035ec70 in tree_rest_of_compilation (fndecl=0x200005cae00) at
#18 0x000000012021c3c0 in expand_body (fn=0x200005cae00) at
#19 0x00000001208aa7d4 in cgraph_expand_function (node=0x200005cb0a0) at
#20 0x00000001208ada5c in cgraph_expand_all_functions () at
#21 0x00000001208adfac in cgraph_optimize () at ../../source/gcc/cgraphunit.c:1909
#22 0x000000012014cc90 in cp_finish_file () at ../../source/gcc/cp/decl2.c:3126
#23 0x000000012000e9e4 in finish_file () at ../../source/gcc/cp/cp-lang.c:113
#24 0x00000001202f4868 in c_common_parse_file (set_yydebug=0) at
#25 0x000000012075b868 in compile_file () at ../../source/gcc/toplev.c:1100
#26 0x000000012075ecc8 in do_compile () at ../../source/gcc/toplev.c:2327
#27 0x000000012075ed80 in toplev_main (argc=24, argv=0x11ffffa88) at
#28 0x0000000120311624 in main (argc=24, argv=0x11ffffa88) at

Random bits from gdb:
call debug_tree(FieldDecl)
 <field_decl 0x200005ca700 _M_tag
    type <integer_type 0x200004ea620 int public SI
        size <integer_cst 0x200004d27e0 constant invariant 32>
        unit size <integer_cst 0x200004d2300 constant invariant 4>
        align 32 symtab 561522016 alias set -1 precision 32 min <integer_cst
0x200004d2750 -2147483648> max <integer_cst 0x200004d2780 2147483647>
        pointer_to_this <pointer_type 0x200004ff880>>
    used nonlocal asm-frame-size 0 nonaddressable decl_3 decl_4 QI file min.ii
line 11
    size <integer_cst 0x200004d23f0 type <integer_type 0x200004ea0e0
bit_size_type> constant invariant 8>
    unit size <integer_cst 0x200004d2420 type <integer_type 0x200004ea000 long
unsigned int> constant invariant 1>
    align 8 offset_align 128
    offset <integer_cst 0x200004d2330 type <integer_type 0x200004ea000 long
unsigned int> constant invariant 0>
    bit offset <integer_cst 0x200004d3620 type <integer_type 0x200004ea0e0
bit_size_type> constant invariant 96> context <record_type 0x200005ca2a0
_Rope_RopeRep> arguments <integer_cst 0x200004d2330 0> result <integer_type
0x200004ea620 int>
    LLVM: uint 0 chain <type_decl 0x200005ca540 _Rope_RopeRep>>

(gdb) print ByteAlignment
$1 = 4
(gdb) print LLVMValueBitSize
$2 = 32
(gdb) print BitStart
$3 = 96
(gdb) print BitfieldSize
$4 = 8
LLVMFieldTy: { ulong, int }
FieldTy: uint

------- 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