diff options
Diffstat (limited to 'lib/Object/COFFModuleDefinition.cpp')
-rw-r--r-- | lib/Object/COFFModuleDefinition.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/lib/Object/COFFModuleDefinition.cpp b/lib/Object/COFFModuleDefinition.cpp index d6729684e20d..0d69cb6b709c 100644 --- a/lib/Object/COFFModuleDefinition.cpp +++ b/lib/Object/COFFModuleDefinition.cpp @@ -55,10 +55,8 @@ struct Token { StringRef Value; }; -static bool isDecorated(StringRef Sym, bool MingwDef) { - // mingw does not prepend "_". - return (!MingwDef && Sym.startswith("_")) || Sym.startswith("@") || - Sym.startswith("?"); +static bool isDecorated(StringRef Sym) { + return Sym.startswith("_") || Sym.startswith("@") || Sym.startswith("?"); } static Error createError(const Twine &Err) { @@ -85,9 +83,6 @@ public: } case '=': Buf = Buf.drop_front(); - // GNU dlltool accepts both = and ==. - if (Buf.startswith("=")) - Buf = Buf.drop_front(); return Token(Equal, "="); case ',': Buf = Buf.drop_front(); @@ -125,8 +120,7 @@ private: class Parser { public: - explicit Parser(StringRef S, MachineTypes M, bool B) - : Lex(S), Machine(M), MingwDef(B) {} + explicit Parser(StringRef S, MachineTypes M) : Lex(S), Machine(M) {} Expected<COFFModuleDefinition> parse() { do { @@ -219,9 +213,9 @@ private: } if (Machine == IMAGE_FILE_MACHINE_I386) { - if (!isDecorated(E.Name, MingwDef)) + if (!isDecorated(E.Name)) E.Name = (std::string("_").append(E.Name)); - if (!E.ExtName.empty() && !isDecorated(E.ExtName, MingwDef)) + if (!E.ExtName.empty() && !isDecorated(E.ExtName)) E.ExtName = (std::string("_").append(E.ExtName)); } @@ -314,13 +308,11 @@ private: std::vector<Token> Stack; MachineTypes Machine; COFFModuleDefinition Info; - bool MingwDef; }; Expected<COFFModuleDefinition> parseCOFFModuleDefinition(MemoryBufferRef MB, - MachineTypes Machine, - bool MingwDef) { - return Parser(MB.getBuffer(), Machine, MingwDef).parse(); + MachineTypes Machine) { + return Parser(MB.getBuffer(), Machine).parse(); } } // namespace object |