Hi Evan, this breaks the Ada build:

Wrong type for attribute byval
void ([4 x i8]*, i8, i8, i8, i8, [4 x i8]*)* @system__file_io__fopen_mode

Is byval supposed to be able to handle passing arrays by value or only
structs?  The verifier, via ParamAttr::typeIncompatible, checks that
byval is only applied to pointers to structs:

  if (const PointerType *PTy = dyn_cast<PointerType>(Ty)) {
    if (!isa<StructType>(PTy->getElementType()))
      // Attributes that only apply to pointers to structs.
      Incompatible |= ParamAttr::ByVal;
  } else {

Ciao,

Duncan.
_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to