Make ScriptParser::checkSection a non-member function.
authorRui Ueyama <ruiu@google.com>
Sun, 8 Oct 2017 02:27:02 +0000 (02:27 +0000)
committerRui Ueyama <ruiu@google.com>
Sun, 8 Oct 2017 02:27:02 +0000 (02:27 +0000)
This patch also make its return type to `void` because
it always returns a given value as-is.

llvm-svn: 315165

lld/ELF/ScriptParser.cpp

index a024e5375f3fe2060ba5980126070ac215854119..acd8b87fd74b4614db8396b9a9d13ee9620371eb 100644 (file)
@@ -56,7 +56,6 @@ public:
 
 private:
   void addFile(StringRef Path);
-  OutputSection *checkSection(OutputSection *Cmd, StringRef Loccation);
 
   void readAsNeeded();
   void readEntry();
@@ -908,11 +907,9 @@ StringRef ScriptParser::readParenLiteral() {
   return Tok;
 }
 
-OutputSection *ScriptParser::checkSection(OutputSection *Cmd,
-                                          StringRef Location) {
+static void checkIfExists(OutputSection *Cmd, StringRef Location) {
   if (Cmd->Location.empty() && Script->ErrorOnMissingSection)
     error(Location + ": undefined section " + Cmd->Name);
-  return Cmd;
 }
 
 Expr ScriptParser::readPrimary() {
@@ -949,7 +946,8 @@ Expr ScriptParser::readPrimary() {
     StringRef Name = readParenLiteral();
     OutputSection *Cmd = Script->getOrCreateOutputSection(Name);
     return [=]() -> ExprValue {
-      return {checkSection(Cmd, Location), 0, Location};
+      checkIfExists(Cmd, Location);
+      return {Cmd, 0, Location};
     };
   }
   if (Tok == "ALIGN") {
@@ -971,7 +969,10 @@ Expr ScriptParser::readPrimary() {
   if (Tok == "ALIGNOF") {
     StringRef Name = readParenLiteral();
     OutputSection *Cmd = Script->getOrCreateOutputSection(Name);
-    return [=] { return checkSection(Cmd, Location)->Alignment; };
+    return [=] {
+      checkIfExists(Cmd, Location);
+      return Cmd->Alignment;
+    };
   }
   if (Tok == "ASSERT")
     return readAssertExpr();
@@ -1018,7 +1019,10 @@ Expr ScriptParser::readPrimary() {
   if (Tok == "LOADADDR") {
     StringRef Name = readParenLiteral();
     OutputSection *Cmd = Script->getOrCreateOutputSection(Name);
-    return [=] { return checkSection(Cmd, Location)->getLMA(); };
+    return [=] {
+      checkIfExists(Cmd, Location);
+      return Cmd->getLMA();
+    };
   }
   if (Tok == "ORIGIN") {
     StringRef Name = readParenLiteral();