[LLVMdev] Equivalent types
Alastair Lynn
arplynn at gmail.com
Sun Sep 6 16:49:15 PDT 2009
Hi Andrii--
They're not equivalent as far as LLVM is concerned - the parameter
type is { { i32 }. { i64 } }* whereas the function is being given a
{ i32, i64 }*. Probably the easiest way to work around this is a
simple bitcast.
Alastair
On 7 Sep 2009, at 00:32, Andrii Vasyliev wrote:
> Hi!
>
> I have this error while building my code:
> Assertion failed: ((i >= FTy->getNumParams() || FTy->getParamType(i)
> == Params[i]->getType()) && "Calling a function with a bad
> signature!")
> Actually I'm trying to load functions from .bc file and use them in
> the code that I'm building with IRBuilder.
>
> I found that function parameter type is %struct.reValue* and
> the type of the value that I'm passing to the function is {i32,i64}*
>
> But these types are quite equivalent, because of the definition:
> %struct.reValue = type { %"struct.reValue::$_44",
> %"struct.reValue::$_46" }
> %"struct.reValue::$_44" = type { i32 }
> %"struct.reValue::$_46" = type { i64 }
>
> What is the easiest way to solve this problem?
>
> Thanks,
> Andrii
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3912 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090907/c035cfb0/attachment.bin>
More information about the llvm-dev
mailing list