[llvm-commits] [llvm-gcc-4.2] r45907 - in	/llvm-gcc-4.2/trunk/gcc: llvm-abi.h llvm-convert.cpp llvm-types.cpp
    Duncan Sands 
    duncan.sands at math.u-psud.fr
       
    Sun Jan 13 01:54:47 PST 2008
    
    
  
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.
    
    
More information about the llvm-commits
mailing list