//
// The LLVM Compiler Infrastructure
//
-// This file was developed by Nate Begeman and is distributed under the
-// University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
#include "llvm/Target/TargetData.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetMachOWriterInfo.h"
+#include <map>
namespace llvm {
class GlobalVariable;
class MachineCodeEmitter;
class MachOCodeEmitter;
class OutputBuffer;
+ class raw_ostream;
/// MachOSym - This struct contains information about each symbol that is
/// added to logical symbol table for the module. This is eventually
return *(MachineCodeEmitter*)MCE;
}
- MachOWriter(std::ostream &O, TargetMachine &TM);
+ MachOWriter(raw_ostream &O, TargetMachine &TM);
virtual ~MachOWriter();
virtual const char *getPassName() const {
protected:
/// Output stream to send the resultant object file to.
///
- std::ostream &O;
+ raw_ostream &O;
/// Target machine description.
///
const Type *Ty = C->getType();
if (Ty->isPrimitiveType() || Ty->isInteger()) {
- unsigned Size = TM.getTargetData()->getTypeSize(Ty);
+ unsigned Size = TM.getTargetData()->getABITypeSize(Ty);
switch(Size) {
default: break; // Fall through to __TEXT,__const
case 4: