[LLVMdev] Re: Re: Re: Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM
ghost at cs.msu.su
Thu Mar 16 03:22:25 PST 2006
Vladimir Prus wrote:
> So, it looks either the snapshot is not in stable state, or there's
> something seriously wrong with type name handling. At this point I gave up
> on quickly fixing this, so I've applied the third attached patch to LLVM,
> which "fixes" this issue completely.
Ah, hell, as soon as I've send this email I've updated from CVS to find that
the issue was fixed by Jim several hours after I reported the crash, by
making MachineDebugInfo don't check for empty name of type.
> After that, the frontend itself builds (the gcc directory), and "llvm-g++
> -emit-llvm -S some_file.cpp") works. I did not do deep testing.
> On the other hand, I still get segfaults when building libstdc++. I'll
> look at them as soon as this "type name in debug info" is solved or
> workarounded either in LLVM CVS or in your frontend.
Here's what I get now:
internal compiler error: in make_decl_rtl, at varasm.c:1018
#0 internal_error (gmsgid=0x8a02d8f "make_decl_rtl")
#1 0x082bf22f in fancy_abort (file=0x8a02d8f "make_decl_rtl", line=1018,
#2 0x084c0c5c in make_decl_rtl (decl=0xb7b9d618)
#3 0x084c8207 in assemble_alias (decl=0xb7b9d618, target=0xb698fe00)
#4 0x084d05e6 in rest_of_decl_compilation (decl=0xb7b9d618, top_level=1,
Printing decl in frame 2 gives:
(gdb) call debug_tree(decl)
type <function_type 0xb7ab7e88
type <void_type 0xb7ab5b40 void sizes-gimplified type_6 VOID
align 8 symtab 146744576 alias set -1
pointer_to_this <pointer_type 0xb7ab5bb8>>
size <integer_cst 0xb7aa139c constant invariant 8>
unit size <integer_cst 0xb7aa13b8 constant invariant 1>
align 8 symtab 0 alias set -1
arg-types <tree_list 0xb7aa1efc value <void_type 0xb7ab5b40 void>>
pointer_to_this <pointer_type 0xb7121ca8>>
public external asm-frame-size 0 no-static-chain decl_2 QI
line 42 context<namespace_decl 0xb720a1e0 __gnu_internal> attributes
<tree_list 0xb7137bd0> initial <error_mark 0xb7aa12d8>
chain <template_decl 0xb720aac8 __test_type>>
Preprocessed source goes by private email.
More information about the llvm-dev