[llvm-strings] Add support for the -a/--all options

They don't actually change nay behaviour, as llvm-strings currently
checks the whole object without looking at individual sections anyway.

This allows using llvm-strings in a context that explicitly passes
the -a option.

Differential Revision: https://reviews.llvm.org/D40020

llvm-svn: 318185
diff --git a/llvm/test/tools/llvm-strings/all-sections.test b/llvm/test/tools/llvm-strings/all-sections.test
new file mode 100644
index 0000000..dcf3519
--- /dev/null
+++ b/llvm/test/tools/llvm-strings/all-sections.test
@@ -0,0 +1,3 @@
+RUN: llvm-strings -a %S/Inputs/abcd | FileCheck %s
+RUN: llvm-strings --all %S/Inputs/abcd | FileCheck %s
+CHECK: abcd
diff --git a/llvm/tools/llvm-strings/llvm-strings.cpp b/llvm/tools/llvm-strings/llvm-strings.cpp
index 5053e9b..638d58f 100644
--- a/llvm/tools/llvm-strings/llvm-strings.cpp
+++ b/llvm/tools/llvm-strings/llvm-strings.cpp
@@ -41,6 +41,12 @@
               cl::init(4));
 static cl::alias MinLengthShort("n", cl::desc(""), cl::aliasopt(MinLength));
 
+static cl::opt<bool>
+    AllSections("all",
+                  cl::desc("Check all sections, not just the data section"));
+static cl::alias AllSectionsShort("a", cl::desc(""),
+                                    cl::aliasopt(AllSections));
+
 enum radix { none, octal, hexadecimal, decimal };
 static cl::opt<radix>
     Radix("radix", cl::desc("print the offset within the file"),