diff --git a/llvm/include/llvm/Object/COFFImportFile.h b/llvm/include/llvm/Object/COFFImportFile.h index 649fb4930934d36..1ec366fe9ba4ec0 100644 --- a/llvm/include/llvm/Object/COFFImportFile.h +++ b/llvm/include/llvm/Object/COFFImportFile.h @@ -104,10 +104,6 @@ struct COFFShortExport { /// file, this is "baz" in "EXPORTS\nfoo = bar == baz". std::string ImportName; - /// Specifies EXPORTAS name. In a .def file, this is "bar" in - /// "EXPORTS\nfoo EXPORTAS bar". - std::string ExportAs; - uint16_t Ordinal = 0; bool Noname = false; bool Data = false; diff --git a/llvm/lib/Object/COFFModuleDefinition.cpp b/llvm/lib/Object/COFFModuleDefinition.cpp index 82c18539658e846..d45514aa9d22f98 100644 --- a/llvm/lib/Object/COFFModuleDefinition.cpp +++ b/llvm/lib/Object/COFFModuleDefinition.cpp @@ -39,7 +39,6 @@ enum Kind { KwConstant, KwData, KwExports, - KwExportAs, KwHeapsize, KwLibrary, KwName, @@ -117,7 +116,6 @@ class Lexer { .Case("CONSTANT", KwConstant) .Case("DATA", KwData) .Case("EXPORTS", KwExports) - .Case("EXPORTAS", KwExportAs) .Case("HEAPSIZE", KwHeapsize) .Case("LIBRARY", KwLibrary) .Case("NAME", KwName) @@ -284,16 +282,7 @@ class Parser { E.ImportName = std::string(Tok.Value); continue; } - // EXPORTAS must be at the end of export definition - if (Tok.K == KwExportAs) { - read(); - if (Tok.K == Eof) - return createError( - "unexpected end of file, EXPORTAS identifier expected"); - E.ExportAs = std::string(Tok.Value); - } else { - unget(); - } + unget(); Info.Exports.push_back(E); return Error::success(); } diff --git a/llvm/test/tools/llvm-lib/exportas.test b/llvm/test/tools/llvm-lib/exportas.test deleted file mode 100644 index f6e845ca174664a..000000000000000 --- a/llvm/test/tools/llvm-lib/exportas.test +++ /dev/null @@ -1,94 +0,0 @@ -Test EXPORTAS in importlibs. - -RUN: split-file %s %t.dir && cd %t.dir -RUN: llvm-lib -machine:amd64 -def:test.def -out:test.lib - -RUN: llvm-nm --print-armap test.lib | FileCheck --check-prefix=ARMAP %s - -ARMAP: Archive map -ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll -ARMAP-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll -ARMAP-NEXT: __imp_func in test.dll -ARMAP-NEXT: __imp_func2 in test.dll -ARMAP-NEXT: __imp_func3 in test.dll -ARMAP-NEXT: __imp_mydata in test.dll -ARMAP-NEXT: func in test.dll -ARMAP-NEXT: func2 in test.dll -ARMAP-NEXT: func3 in test.dll -ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll - -RUN: llvm-readobj test.lib | FileCheck --check-prefix=READOBJ %s - -READOBJ: File: test.lib(test.dll) -READOBJ-NEXT: Format: COFF-x86-64 -READOBJ-NEXT: Arch: x86_64 -READOBJ-NEXT: AddressSize: 64bit -READOBJ-EMPTY: -READOBJ-NEXT: File: test.lib(test.dll) -READOBJ-NEXT: Format: COFF-x86-64 -READOBJ-NEXT: Arch: x86_64 -READOBJ-NEXT: AddressSize: 64bit -READOBJ-EMPTY: -READOBJ-NEXT: File: test.lib(test.dll) -READOBJ-NEXT: Format: COFF-x86-64 -READOBJ-NEXT: Arch: x86_64 -READOBJ-NEXT: AddressSize: 64bit -READOBJ-EMPTY: -READOBJ-NEXT: File: test.dll -READOBJ-NEXT: Format: COFF-import-file-x86-64 -READOBJ-NEXT: Type: code -READOBJ-NEXT: Name type: export as -READOBJ-NEXT: Export name: expfunc -READOBJ-NEXT: Symbol: __imp_func -READOBJ-NEXT: Symbol: func -READOBJ-EMPTY: -READOBJ-NEXT: File: test.dll -READOBJ-NEXT: Format: COFF-import-file-x86-64 -READOBJ-NEXT: Type: data -READOBJ-NEXT: Name type: export as -READOBJ-NEXT: Export name: expdata -READOBJ-NEXT: Symbol: __imp_mydata -READOBJ-EMPTY: -READOBJ-NEXT: File: test.dll -READOBJ-NEXT: Format: COFF-import-file-x86-64 -READOBJ-NEXT: Type: code -READOBJ-NEXT: Name type: export as -READOBJ-NEXT: Export name: expfunc2 -READOBJ-NEXT: Symbol: __imp_func2 -READOBJ-NEXT: Symbol: func2 -READOBJ-EMPTY: -READOBJ-NEXT: File: test.dll -READOBJ-NEXT: Format: COFF-import-file-x86-64 -READOBJ-NEXT: Type: code -READOBJ-NEXT: Name type: export as -READOBJ-NEXT: Export name: expfunc3 -READOBJ-NEXT: Symbol: __imp_func3 -READOBJ-NEXT: Symbol: func3 - - -EXPORTAS must be at the end of entry declaration. -RUN: not llvm-lib -machine:amd64 -def:test2.def -out:test2.lib 2>&1 \ -RUN: | FileCheck --check-prefix=ERROR %s -RUN: not llvm-lib -machine:amd64 -def:test3.def -out:test3.lib 2>&1 \ -RUN: | FileCheck --check-prefix=ERROR %s -ERROR: Invalid data was encountered while parsing the file - - -#--- test.def -LIBRARY test.dll -EXPORTS - func EXPORTAS expfunc - mydata DATA EXPORTAS expdata - func2 = myfunc2 EXPORTAS expfunc2 - func3 = otherdll.otherfunc3 EXPORTAS expfunc3 - -#--- test2.def -LIBRARY test.dll -EXPORTS - func EXPORTAS expfunc - mydata EXPORTAS expdata DATA - -#--- test3.def -LIBRARY test.dll -EXPORTS - mydata EXPORTAS