Converting 80 and 96 bit floating point types to a 64 bit LLVM type breaks the invariant that gcc types of constant size map to LLVM types of the same size. Since it should not actually be possible to get 80 and 96 bit floating point types in llvm-gcc nowadays, remove the conversion of such types, which will cause an assert failure if such a type manages to creep in.
Ciao, Duncan.
Index: gcc.llvm/gcc/llvm-types.cpp =================================================================== --- gcc.llvm.orig/gcc/llvm-types.cpp 2007-03-20 21:25:44.000000000 +0100 +++ gcc.llvm/gcc/llvm-types.cpp 2007-03-20 21:25:55.000000000 +0100 @@ -471,8 +471,6 @@ debug_tree(type); abort(); case 32: return SET_TYPE_LLVM(type, Type::FloatTy); - case 80: // Map long doubles to doubles. - case 96: // Map long doubles to doubles. case 64: return SET_TYPE_LLVM(type, Type::DoubleTy); case 128: // 128-bit long doubles map onto { double, double }.
_______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits