Index: lld/trunk/test/wasm/symbol-type-mismatch.ll =================================================================== --- lld/trunk/test/wasm/symbol-type-mismatch.ll +++ lld/trunk/test/wasm/symbol-type-mismatch.ll @@ -7,5 +7,5 @@ @ret32 = extern_weak global i32, align 4 ; CHECK: error: symbol type mismatch: ret32 -; CHECK: >>> defined as Data in {{.*}}symbol-type-mismatch.ll.tmp.o -; CHECK: >>> defined as Function in {{.*}}.ret32.o +; CHECK: >>> defined as WASM_SYMBOL_TYPE_DATA in {{.*}}symbol-type-mismatch.ll.tmp.o +; CHECK: >>> defined as WASM_SYMBOL_TYPE_FUNCTION in {{.*}}.ret32.o Index: lld/trunk/wasm/SymbolTable.cpp =================================================================== --- lld/trunk/wasm/SymbolTable.cpp +++ lld/trunk/wasm/SymbolTable.cpp @@ -69,17 +69,17 @@ } static void reportTypeError(const Symbol *Existing, const InputFile *File, - StringRef Type) { + llvm::wasm::WasmSymbolType Type) { error("symbol type mismatch: " + toString(*Existing) + "\n>>> defined as " + toString(Existing->getWasmType()) + " in " + - toString(Existing->getFile()) + "\n>>> defined as " + Type + " in " + - toString(File)); + toString(Existing->getFile()) + "\n>>> defined as " + toString(Type) + + " in " + toString(File)); } static void checkFunctionType(const Symbol *Existing, const InputFile *File, const WasmSignature *NewSig) { if (!isa(Existing)) { - reportTypeError(Existing, File, "Function"); + reportTypeError(Existing, File, WASM_SYMBOL_TYPE_FUNCTION); return; } @@ -98,7 +98,7 @@ static void checkGlobalType(const Symbol *Existing, const InputFile *File, const WasmGlobalType *NewType) { if (!isa(Existing)) { - reportTypeError(Existing, File, "Global"); + reportTypeError(Existing, File, WASM_SYMBOL_TYPE_GLOBAL); return; } @@ -112,7 +112,7 @@ static void checkDataType(const Symbol *Existing, const InputFile *File) { if (!isa(Existing)) - reportTypeError(Existing, File, "Data"); + reportTypeError(Existing, File, WASM_SYMBOL_TYPE_DATA); } DefinedFunction *SymbolTable::addSyntheticFunction(StringRef Name, Index: lld/trunk/wasm/Symbols.h =================================================================== --- lld/trunk/wasm/Symbols.h +++ lld/trunk/wasm/Symbols.h @@ -340,7 +340,6 @@ // Returns a symbol name for an error message. std::string toString(const wasm::Symbol &Sym); std::string toString(wasm::Symbol::Kind Kind); -std::string toString(WasmSymbolType Type); } // namespace lld Index: lld/trunk/wasm/Symbols.cpp =================================================================== --- lld/trunk/wasm/Symbols.cpp +++ lld/trunk/wasm/Symbols.cpp @@ -31,13 +31,13 @@ WasmSymbolType Symbol::getWasmType() const { if (isa(this)) - return llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION; + return WASM_SYMBOL_TYPE_FUNCTION; if (isa(this)) - return llvm::wasm::WASM_SYMBOL_TYPE_DATA; + return WASM_SYMBOL_TYPE_DATA; if (isa(this)) - return llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL; + return WASM_SYMBOL_TYPE_GLOBAL; if (isa(this)) - return llvm::wasm::WASM_SYMBOL_TYPE_SECTION; + return WASM_SYMBOL_TYPE_SECTION; llvm_unreachable("invalid symbol kind"); } @@ -239,17 +239,3 @@ } llvm_unreachable("invalid symbol kind"); } - -std::string lld::toString(WasmSymbolType Type) { - switch (Type) { - case llvm::wasm::WASM_SYMBOL_TYPE_FUNCTION: - return "Function"; - case llvm::wasm::WASM_SYMBOL_TYPE_DATA: - return "Data"; - case llvm::wasm::WASM_SYMBOL_TYPE_GLOBAL: - return "Global"; - case llvm::wasm::WASM_SYMBOL_TYPE_SECTION: - return "Section"; - } - llvm_unreachable("invalid symbol type"); -}