[LLVMbugs] [Bug 947] NEW: llvm-gcc missing address of label
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Sun Oct 15 16:34:00 PDT 2006
http://llvm.org/bugs/show_bug.cgi?id=947
Summary: llvm-gcc missing address of label
Product: tools
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: llvm-gcc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: nicholas at mxc.ca
Taking the address of a label doesn't seem to be supported in llvm-gcc4. This
GCC extension is described in
http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/Labels-as-Values.html . This is the
program:
void foo() {
void *ptr;
label:
ptr = &&label;
}
$ llvm-gcc gotolabel.c
Unhandled lvalue expression!
<label_decl 0x55a6fd98 label
type <void_type 0x55a26708 void sizes-gimplified VOID
align 8 symtab 145740416 alias set -1
pointer_to_this <pointer_type 0x55a26780>>
side-effects used asm-frame-size 0 VOID file gotolabel.c line 4
align 1 context <function_decl 0x55a6fb40 foo> initial <error_mark 0x55a172d8>
LLVM: label %label>
gotolabel.c: In function ‘foo’:
gotolabel.c:1: internal compiler error: in EmitLV, at llvm-convert.cpp:604
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs> for instructions.
Here's a backtrace:
#0 internal_error (gmsgid=0x890e091 "in %s, at %s:%d")
at ../../src/gcc/diagnostic.c:532
#1 0x08166d7f in fancy_abort (
file=0x8953e40 "../../src/gcc/llvm-convert.cpp", line=604,
function=0x895eec9 "EmitLV") at ../../src/gcc/diagnostic.c:588
#2 0x0832269b in TreeToLLVM::EmitLV (this=0xffffaee4, exp=0x55a6fd98)
at ../../src/gcc/llvm-convert.cpp:604
#3 0x083242aa in TreeToLLVM::EmitADDR_EXPR (this=0xffffaee4, exp=0x55a1c230)
at ../../src/gcc/llvm-convert.cpp:1718
#4 0x0832223d in TreeToLLVM::Emit (this=0xffffaee4, exp=0x55a1c230,
DestLoc=0x0) at ../../src/gcc/llvm-convert.cpp:513
#5 0x0833c94b in TreeToLLVM::EmitMODIFY_EXPR (this=0xffffaee4,
exp=0x55a1c258, DestLoc=0x0) at ../../src/gcc/llvm-convert.cpp:2055
#6 0x0832210d in TreeToLLVM::Emit (this=0xffffaee4, exp=0x55a1c258,
DestLoc=0x0) at ../../src/gcc/llvm-convert.cpp:515
#7 0x0833add3 in TreeToLLVM::EmitSTATEMENT_LIST (this=0xffffaee4,
exp=0x55a77690, DestLoc=0x0) at ../../src/gcc/llvm-convert.cpp:1168
#8 0x08322163 in TreeToLLVM::Emit (this=0xffffaee4, exp=0x55a77690,
DestLoc=0x0) at ../../src/gcc/llvm-convert.cpp:488
#9 0x0833b948 in TreeToLLVM::EmitBIND_EXPR (this=0xffffaee4, exp=0x55a71068,
DestLoc=0x0) at ../../src/gcc/llvm-convert.cpp:1143
#10 0x083220e0 in TreeToLLVM::Emit (this=0xffffaee4, exp=0x55a71068,
DestLoc=0x0) at ../../src/gcc/llvm-convert.cpp:487
#11 0x0830e0d3 in llvm_emit_code_for_current_function (fndecl=0x55a6fb40)
at ../../src/gcc/llvm-backend.cpp:412
#12 0x080dc8bf in tree_rest_of_compilation (fndecl=0x55a6fb40)
at ../../src/gcc/tree-optimize.c:704
#13 0x0805e3a3 in c_expand_body (fndecl=0x55a6fb40)
at ../../src/gcc/c-decl.c:6954
#14 0x083819ad in cgraph_expand_function (node=0x55a6fe10)
at ../../src/gcc/cgraphunit.c:896
#15 0x08381b65 in cgraph_assemble_pending_functions ()
at ../../src/gcc/cgraphunit.c:313
#16 0x08384165 in cgraph_finalize_function (decl=0x55a6fb40, nested=false)
at ../../src/gcc/cgraphunit.c:411
#17 0x0805e965 in finish_function () at ../../src/gcc/c-decl.c:6923
#18 0x08054808 in yyparse () at c-parse.y:440
#19 0x080557eb in c_parse_file () at c-parse.y:3483
#20 0x080a5c7a in c_common_parse_file (set_yydebug=0)
at ../../src/gcc/c-opts.c:1238
#21 0x082e145a in toplev_main (argc=2, argv=0xffffbb34)
at ../../src/gcc/toplev.c:1100
#22 0x080bb632 in main (argc=1634296879, argv=0x736f6e67)
at ../../src/gcc/llvm-main.cpp:37
------- 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