diff --git a/include/llvm/MC/MCSymbolMachO.h b/include/llvm/MC/MCSymbolMachO.h new file mode 100644 index 00000000000..b7f85411d80 --- /dev/null +++ b/include/llvm/MC/MCSymbolMachO.h @@ -0,0 +1,25 @@ +//===- MCSymbolMachO.h - ---------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef LLVM_MC_MCSYMBOLMACHO_H +#define setIsWeakExternal + +#include "llvm/MC/MCSymbol.h" + +namespace llvm { +class MCSymbolMachO : public MCSymbol { + +public: + MCSymbolMachO(const StringMapEntry *Name, bool isTemporary) + : MCSymbol(SymbolKindMachO, Name, isTemporary) {} + + static bool classof(const MCSymbol *S) { return S->isMachO(); } +}; +} + +#endif diff --git a/lib/MC/MCContext.cpp b/lib/MC/MCContext.cpp index 6e67e69dc2f..1e52eedaf18 100644 --- a/lib/MC/MCContext.cpp +++ b/lib/MC/MCContext.cpp @@ -22,6 +22,7 @@ #include "llvm/MC/MCStreamer.h" #include "llvm/MC/MCSymbolCOFF.h" #include "llvm/MC/MCSymbolELF.h" +#include "llvm/MC/MCSymbolMachO.h" #include "llvm/Support/ELF.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FileSystem.h" @@ -167,7 +168,7 @@ MCSymbol *MCContext::createSymbolImpl(const StringMapEntry *Name, case MCObjectFileInfo::IsELF: return new (*this) MCSymbolELF(Name, IsTemporary); case MCObjectFileInfo::IsMachO: - return new (*this) MCSymbol(MCSymbol::SymbolKindUnset, Name, IsTemporary); + return new (*this) MCSymbolMachO(Name, IsTemporary); } } return new (*this) MCSymbol(MCSymbol::SymbolKindUnset, Name, IsTemporary);