[LLVMbugs] [Bug 11519] New: "GEP is not of right type for indices!"
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Dec 9 03:08:03 PST 2011
http://llvm.org/bugs/show_bug.cgi?id=11519
Bug #: 11519
Summary: "GEP is not of right type for indices!"
Product: tools
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: llvm-link
AssignedTo: unassignedbugs at nondot.org
ReportedBy: max at duempel.org
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Got the "GEP is not of right type for indices!" while trying to link all .bc
files of a large project (C and C++ compiled with clang).
GEP is not of right type for indices!
%d_stream = getelementptr inbounds %bar* %fp, i64 0, i32 0
i32Broken module found, compilation aborted!
[...]
Stack dump:
0. Program arguments: llvm-link -o /tmp/foo.bc /tmp/bz.ll /tmp/bar.ll
1. Running pass 'Function Pass Manager' on module '/tmp/bz.ll'.
2. Running pass 'Module Verifier' on function '@bug_a'
Aborted
I don't understand the error message, but I've experimented with reducing the
test case to a few lines of LLVM assembly:
first file:
%struct.bug_type = type opaque
declare i32 @bug_a(%struct.bug_type*)
declare i32 @bug_b(%struct.bug_type*)
second file:
%struct.bug_type = type { %struct.bug_type* }
%bar = type { i32 }
define i32 @bug_a(%struct.bug_type* %fp) nounwind uwtable {
entry:
%d_stream = getelementptr inbounds %struct.bug_type* %fp, i64 0, i32 0
ret i32 0
}
define i32 @bug_b(%bar* %a) nounwind uwtable {
entry:
ret i32 0
}
Command to reproduce: llvm-link -o foo.bc first.ll second.ll
The type mismatch is intentional, it may or may not have been in my original
clang-generated bitcode files, I didn't check; the point is that this error is
not noticed, instead it complains about the function bug_a that is (or seems)
correct!
The problem disappears when any detail is changed in the file, and it
disappears when the reverse argument order in the llvm-link command is used.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list