[lld] r221649 - Revert "Add support library."
Shankar Easwaran
shankare at codeaurora.org
Mon Nov 10 16:40:37 PST 2014
Author: shankare
Date: Mon Nov 10 18:40:36 2014
New Revision: 221649
URL: http://llvm.org/viewvc/llvm-project?rev=221649&view=rev
Log:
Revert "Add support library."
This reverts commit r221583.
Removed:
lld/trunk/include/lld/Support/NumParse.h
lld/trunk/lib/Support/CMakeLists.txt
lld/trunk/lib/Support/NumParse.cpp
Modified:
lld/trunk/lib/CMakeLists.txt
lld/trunk/lib/Makefile
lld/trunk/lib/ReaderWriter/CMakeLists.txt
lld/trunk/lib/ReaderWriter/LinkerScript.cpp
lld/trunk/tools/lld/Makefile
lld/trunk/unittests/DriverTests/Makefile
lld/trunk/utils/linker-script-test/Makefile
Removed: lld/trunk/include/lld/Support/NumParse.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Support/NumParse.h?rev=221648&view=auto
==============================================================================
--- lld/trunk/include/lld/Support/NumParse.h (original)
+++ lld/trunk/include/lld/Support/NumParse.h (removed)
@@ -1,45 +0,0 @@
-//===-- lld/Support/NumParse.h - Number parsing -----------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// \brief Parses string in various formats to decimal.
-///
-//===----------------------------------------------------------------------===//
-
-#ifndef LLD_SUPPORT_NUM_PARSE_H
-#define LLD_SUPPORT_NUM_PARSE_H
-
-#include "lld/Core/LLVM.h"
-#include "llvm/ADT/StringSwitch.h"
-#include "llvm/Support/ErrorOr.h"
-#include "llvm/Support/raw_ostream.h"
-#include <memory>
-#include <system_error>
-#include <vector>
-
-namespace lld {
-
-/// \brief Convert a string in decimal to decimal.
-llvm::ErrorOr<uint64_t> parseDecimal(StringRef str);
-
-/// \brief Convert a string in octal to decimal.
-llvm::ErrorOr<uint64_t> parseOctal(StringRef str);
-
-/// \brief Convert a string in Binary to decimal.
-llvm::ErrorOr<uint64_t> parseBinary(StringRef str);
-
-/// \brief Convert a string in Hexadecimal to decimal.
-llvm::ErrorOr<uint64_t> parseHex(StringRef str);
-
-/// \brief Parse a number represested in a string as
-// Hexadecimal, Octal, Binary or Decimal to decimal
-llvm::ErrorOr<uint64_t> parseNum(StringRef str, bool parseExtensions = true);
-}
-
-#endif // LLD_SUPPORT_NUM_PARSE_H
Modified: lld/trunk/lib/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/CMakeLists.txt?rev=221649&r1=221648&r2=221649&view=diff
==============================================================================
--- lld/trunk/lib/CMakeLists.txt (original)
+++ lld/trunk/lib/CMakeLists.txt Mon Nov 10 18:40:36 2014
@@ -3,4 +3,3 @@ add_subdirectory(Core)
add_subdirectory(Driver)
add_subdirectory(Passes)
add_subdirectory(ReaderWriter)
-add_subdirectory(Support)
Modified: lld/trunk/lib/Makefile
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Makefile?rev=221649&r1=221648&r2=221649&view=diff
==============================================================================
--- lld/trunk/lib/Makefile (original)
+++ lld/trunk/lib/Makefile Mon Nov 10 18:40:36 2014
@@ -9,7 +9,7 @@
LLD_LEVEL := ..
# ARCMigrate and Rewrite are always needed because of libclang.
-PARALLEL_DIRS = Config Core Driver Passes ReaderWriter Support
+PARALLEL_DIRS = Config Core Driver Passes ReaderWriter
include $(LLD_LEVEL)/../../Makefile.config
Modified: lld/trunk/lib/ReaderWriter/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/CMakeLists.txt?rev=221649&r1=221648&r2=221649&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/CMakeLists.txt (original)
+++ lld/trunk/lib/ReaderWriter/CMakeLists.txt Mon Nov 10 18:40:36 2014
@@ -18,5 +18,4 @@ add_lld_library(lldReaderWriter
target_link_libraries(lldReaderWriter ${cmake_2_8_12_INTERFACE}
lldCore
lldPasses
- lldSupport
)
Modified: lld/trunk/lib/ReaderWriter/LinkerScript.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/LinkerScript.cpp?rev=221649&r1=221648&r2=221649&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/LinkerScript.cpp (original)
+++ lld/trunk/lib/ReaderWriter/LinkerScript.cpp Mon Nov 10 18:40:36 2014
@@ -13,7 +13,6 @@
//===----------------------------------------------------------------------===//
#include "lld/ReaderWriter/LinkerScript.h"
-#include "lld/Support/NumParse.h"
namespace lld {
namespace script {
@@ -90,7 +89,56 @@ void Token::dump(raw_ostream &os) const
os << _range << "\n";
}
-bool parseHexToByteStream(StringRef str, std::string &buf) {
+static llvm::ErrorOr<uint64_t> parseDecimal(StringRef str) {
+ uint64_t res = 0;
+ for (auto &c : str) {
+ res *= 10;
+ if (c < '0' || c > '9')
+ return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
+ res += c - '0';
+ }
+ return res;
+}
+
+static llvm::ErrorOr<uint64_t> parseOctal(StringRef str) {
+ uint64_t res = 0;
+ for (auto &c : str) {
+ res <<= 3;
+ if (c < '0' || c > '7')
+ return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
+ res += c - '0';
+ }
+ return res;
+}
+
+static llvm::ErrorOr<uint64_t> parseBinary(StringRef str) {
+ uint64_t res = 0;
+ for (auto &c : str) {
+ res <<= 1;
+ if (c != '0' && c != '1')
+ return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
+ res += c - '0';
+ }
+ return res;
+}
+
+static llvm::ErrorOr<uint64_t> parseHex(StringRef str) {
+ uint64_t res = 0;
+ for (auto &c : str) {
+ res <<= 4;
+ if (c >= '0' && c <= '9')
+ res += c - '0';
+ else if (c >= 'a' && c <= 'f')
+ res += c - 'a' + 10;
+ else if (c >= 'A' && c <= 'F')
+ res += c - 'A' + 10;
+ else
+ return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
+ }
+ return res;
+}
+
+static bool parseHexToByteStream(StringRef str, std::string &buf) {
unsigned char byte = 0;
bool dumpByte = str.size() % 2;
for (auto &c : str) {
@@ -130,6 +178,63 @@ static void dumpByteStream(raw_ostream &
}
}
+static llvm::ErrorOr<uint64_t> parseNum(StringRef str) {
+ unsigned multiplier = 1;
+ enum NumKind { decimal, hex, octal, binary };
+ NumKind kind = llvm::StringSwitch<NumKind>(str)
+ .StartsWith("0x", hex)
+ .StartsWith("0X", hex)
+ .StartsWith("0", octal)
+ .Default(decimal);
+
+ // Parse scale
+ if (str.endswith("K")) {
+ multiplier = 1 << 10;
+ str = str.drop_back();
+ } else if (str.endswith("M")) {
+ multiplier = 1 << 20;
+ str = str.drop_back();
+ }
+
+ // Parse type
+ if (str.endswith_lower("o")) {
+ kind = octal;
+ str = str.drop_back();
+ } else if (str.endswith_lower("h")) {
+ kind = hex;
+ str = str.drop_back();
+ } else if (str.endswith_lower("d")) {
+ kind = decimal;
+ str = str.drop_back();
+ } else if (str.endswith_lower("b")) {
+ kind = binary;
+ str = str.drop_back();
+ }
+
+ llvm::ErrorOr<uint64_t> res(0);
+ switch (kind) {
+ case hex:
+ if (str.startswith_lower("0x"))
+ str = str.drop_front(2);
+ res = parseHex(str);
+ break;
+ case octal:
+ res = parseOctal(str);
+ break;
+ case decimal:
+ res = parseDecimal(str);
+ break;
+ case binary:
+ res = parseBinary(str);
+ break;
+ }
+ if (res.getError())
+ return res;
+
+ *res = *res * multiplier;
+ return res;
+}
+
bool Lexer::canStartNumber(char c) const {
return '0' <= c && c <= '9';
}
Removed: lld/trunk/lib/Support/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Support/CMakeLists.txt?rev=221648&view=auto
==============================================================================
--- lld/trunk/lib/Support/CMakeLists.txt (original)
+++ lld/trunk/lib/Support/CMakeLists.txt (removed)
@@ -1,3 +0,0 @@
-add_lld_library(lldSupport
- NumParse.cpp
- )
Removed: lld/trunk/lib/Support/NumParse.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Support/NumParse.cpp?rev=221648&view=auto
==============================================================================
--- lld/trunk/lib/Support/NumParse.cpp (original)
+++ lld/trunk/lib/Support/NumParse.cpp (removed)
@@ -1,133 +0,0 @@
-//===-- lld/Support/NumParse.cpp - Number parsing ---------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-///
-/// \file
-/// \brief Parses string in various formats to decimal.
-///
-//===----------------------------------------------------------------------===//
-
-#include "lld/Support/NumParse.h"
-
-using namespace llvm;
-
-namespace lld {
-/// \brief Convert a string in decimal to decimal.
-llvm::ErrorOr<uint64_t> parseDecimal(StringRef str) {
- uint64_t res = 0;
- for (auto &c : str) {
- res *= 10;
- if (c < '0' || c > '9')
- return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
- res += c - '0';
- }
- return res;
-}
-
-/// \brief Convert a string in octal to decimal.
-llvm::ErrorOr<uint64_t> parseOctal(StringRef str) {
- uint64_t res = 0;
- for (auto &c : str) {
- res <<= 3;
- if (c < '0' || c > '7')
- return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
- res += c - '0';
- }
- return res;
-}
-
-/// \brief Convert a string in Binary to decimal.
-llvm::ErrorOr<uint64_t> parseBinary(StringRef str) {
- uint64_t res = 0;
- for (auto &c : str) {
- res <<= 1;
- if (c != '0' && c != '1')
- return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
- res += c - '0';
- }
- return res;
-}
-
-/// \brief Convert a string in Hexadecimal to decimal.
-llvm::ErrorOr<uint64_t> parseHex(StringRef str) {
- uint64_t res = 0;
- for (auto &c : str) {
- res <<= 4;
- if (c >= '0' && c <= '9')
- res += c - '0';
- else if (c >= 'a' && c <= 'f')
- res += c - 'a' + 10;
- else if (c >= 'A' && c <= 'F')
- res += c - 'A' + 10;
- else
- return llvm::ErrorOr<uint64_t>(std::make_error_code(std::errc::io_error));
- }
- return res;
-}
-
-/// \brief Parse a number represested in a string as
-// Hexadecimal, Octal, Binary or Decimal to decimal
-llvm::ErrorOr<uint64_t> parseNum(StringRef str, bool parseExtensions) {
- unsigned multiplier = 1;
- enum NumKind { decimal, hex, octal, binary };
- NumKind kind = llvm::StringSwitch<NumKind>(str)
- .StartsWith("0x", hex)
- .StartsWith("0X", hex)
- .StartsWith("0", octal)
- .Default(decimal);
-
- if (parseExtensions) {
- // Parse scale
- if (str.endswith("K")) {
- multiplier = 1 << 10;
- str = str.drop_back();
- } else if (str.endswith("M")) {
- multiplier = 1 << 20;
- str = str.drop_back();
- }
-
- // Parse type
- if (str.endswith_lower("o")) {
- kind = octal;
- str = str.drop_back();
- } else if (str.endswith_lower("h")) {
- kind = hex;
- str = str.drop_back();
- } else if (str.endswith_lower("d")) {
- kind = decimal;
- str = str.drop_back();
- } else if (str.endswith_lower("b")) {
- kind = binary;
- str = str.drop_back();
- }
- }
-
- llvm::ErrorOr<uint64_t> res(0);
- switch (kind) {
- case hex:
- if (str.startswith_lower("0x"))
- str = str.drop_front(2);
- res = parseHex(str);
- break;
- case octal:
- res = parseOctal(str);
- break;
- case decimal:
- res = parseDecimal(str);
- break;
- case binary:
- res = parseBinary(str);
- break;
- }
- if (res.getError())
- return res;
-
- *res = *res * multiplier;
- return res;
-}
-}
Modified: lld/trunk/tools/lld/Makefile
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/tools/lld/Makefile?rev=221649&r1=221648&r2=221649&view=diff
==============================================================================
--- lld/trunk/tools/lld/Makefile (original)
+++ lld/trunk/tools/lld/Makefile Mon Nov 10 18:40:36 2014
@@ -19,9 +19,9 @@ LEVEL := $(LLD_LEVEL)/../..
include $(LEVEL)/Makefile.config
LINK_COMPONENTS := $(TARGETS_TO_BUILD)
-USEDLIBS = lldDriver.a lldConfig.a lldSupport.a \
+USEDLIBS = lldDriver.a lldConfig.a \
lldELF.a lldMachO.a lldPasses.a lldPECOFF.a lldYAML.a \
- lldReaderWriter.a lldCore.a lldSupport.a lldNative.a \
+ lldReaderWriter.a lldCore.a lldNative.a \
lldHexagonELFTarget.a lldPPCELFTarget.a lldMipsELFTarget.a \
lldX86ELFTarget.a lldX86_64ELFTarget.a lldAArch64ELFTarget.a \
LLVMOption.a
Modified: lld/trunk/unittests/DriverTests/Makefile
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/unittests/DriverTests/Makefile?rev=221649&r1=221648&r2=221649&view=diff
==============================================================================
--- lld/trunk/unittests/DriverTests/Makefile (original)
+++ lld/trunk/unittests/DriverTests/Makefile Mon Nov 10 18:40:36 2014
@@ -15,7 +15,5 @@ USEDLIBS = lldDriver.a lldConfig.a \
lldHexagonELFTarget.a lldPPCELFTarget.a lldMipsELFTarget.a \
lldX86ELFTarget.a lldX86_64ELFTarget.a lldYAML.a \
LLVMObject.a LLVMMCParser.a LLVMMC.a LLVMBitReader.a \
- LLVMCore.a LLVMOption.a LLVMSupport.a lldAArch64ELFTarget.a \
- lldSupport.a
-
+ LLVMCore.a LLVMOption.a LLVMSupport.a lldAArch64ELFTarget.a
include $(LLD_LEVEL)/unittests/Makefile
Modified: lld/trunk/utils/linker-script-test/Makefile
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/utils/linker-script-test/Makefile?rev=221649&r1=221648&r2=221649&view=diff
==============================================================================
--- lld/trunk/utils/linker-script-test/Makefile (original)
+++ lld/trunk/utils/linker-script-test/Makefile Mon Nov 10 18:40:36 2014
@@ -19,6 +19,6 @@ LEVEL := $(LLD_LEVEL)/../..
include $(LEVEL)/Makefile.config
LINK_COMPONENTS := $(TARGETS_TO_BUILD)
-USEDLIBS = lldReaderWriter.a lldSupport.a LLVMSupport.a
+USEDLIBS = lldReaderWriter.a LLVMSupport.a
include $(LLD_LEVEL)/Makefile
More information about the llvm-commits
mailing list