R600: Use SchedModel enum for is{Trans,Vector}Only functions
[oota-llvm.git] / lib / Object / Archive.cpp
index 719d1042e5d33958f55587a77a93a1cacd183dbf..71efca2b18633492837e2e758dfcb16def8bfd1a 100644 (file)
@@ -21,7 +21,7 @@
 using namespace llvm;
 using namespace object;
 
-static const char *Magic = "!<arch>\n";
+static const char *const Magic = "!<arch>\n";
 
 void Archive::anchor() { }
 
@@ -385,7 +385,7 @@ Archive::Symbol Archive::Symbol::getNext() const {
 }
 
 Archive::symbol_iterator Archive::begin_symbols() const {
-  if (SymbolTable == end_children())
+  if (!hasSymbolTable())
     return symbol_iterator(Symbol(this, 0, 0));
 
   const char *buf = SymbolTable->getBuffer().begin();
@@ -408,7 +408,7 @@ Archive::symbol_iterator Archive::begin_symbols() const {
 }
 
 Archive::symbol_iterator Archive::end_symbols() const {
-  if (SymbolTable == end_children())
+  if (!hasSymbolTable())
     return symbol_iterator(Symbol(this, 0, 0));
 
   const char *buf = SymbolTable->getBuffer().begin();
@@ -444,3 +444,7 @@ Archive::child_iterator Archive::findSym(StringRef name) const {
   }
   return end_children();
 }
+
+bool Archive::hasSymbolTable() const {
+  return SymbolTable != end_children();
+}