<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>>> +  Result = Builder.CreateCall(Intrinsic::getDeclaration(TheModule, Id,<br>

>> + makeArrayRef(&Ty, 1)),<br>
><br>
> That's ugly. Why doesn't the implicit conversion from Type * to<br>
> ArrayRef<Type *>  work?<br>
<br>
</div>OK. It seems I got it wrong. I used<br>
<br>
Builder.CreateCall(Intrinsic::getDeclaration(TheModule, Id, &Ty)<br>
<br>
whereas you used<br>
<br>
Builder.CreateCall(Intrinsic::getDeclaration(TheModule, Id, Ty)<br>
                                                             ^^<br>
<br>
This makes the difference. Your code compiles for me without any problems.<br></blockquote><div><br></div><div>If you're self hosting clang then perhaps Anna's work on "<span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:16px">[sema++] clang should give a fixit for */& mismatch" might be, eventually, able to provide fixits for this situation. Though I assume this particular scenario won't be the first that's addressed when adding this feature, owing to the use of type conversions, etc, necessary to make the FixIt suggestion.</span></div>

</div>