Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Verifier accepts infinite-length types #15577

Open Quuxplusone opened 11 years ago

Quuxplusone commented 11 years ago
Bugzilla Link PR15577
Status NEW
Importance P normal
Reported by whitequark (whitequark@whitequark.org)
Reported on 2013-03-23 07:18:58 -0700
Last modified on 2013-10-15 22:49:54 -0700
Version trunk
Hardware All All
CC baldrick@free.fr, llvm-bugs@lists.llvm.org, rafael@espindo.la
Fixed by commit(s)
Attachments infinite.ll (69 bytes, application/octet-stream)
Blocks
Blocked by
See also
Created attachment 10231
llvm assembly with infinite type

LLVM parses, verifies and prints (opt-3.3 foo.ll -verify -S) the attached file,
which contains a type of infinite length.

However, if I attempt to emit bitcode and then disassemble it, the result is as
follows:

%0 = type opaque
%f = type { i32, %0 }

define %f @foo() {
  ret %f zeroinitializer
}
Quuxplusone commented 11 years ago

Attached infinite.ll (69 bytes, application/octet-stream): llvm assembly with infinite type