[PECOFF] Create an atom for a symbol whose storage type is IMAGE_SYM_CLASS_LABEL.
authorRui Ueyama <ruiu@google.com>
Fri, 26 Jul 2013 01:18:27 +0000 (01:18 +0000)
committerRui Ueyama <ruiu@google.com>
Fri, 26 Jul 2013 01:18:27 +0000 (01:18 +0000)
llvm-svn: 187177

lld/lib/ReaderWriter/PECOFF/Atoms.h
lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp

index 7ef7995..99d5702 100644 (file)
@@ -179,6 +179,7 @@ public:
     case llvm::COFF::IMAGE_SYM_CLASS_EXTERNAL:
       return scopeGlobal;
     case llvm::COFF::IMAGE_SYM_CLASS_STATIC:
+    case llvm::COFF::IMAGE_SYM_CLASS_LABEL:
       return scopeTranslationUnit;
     }
     llvm_unreachable("Unknown scope!");
index 7dfe8ba..110889c 100644 (file)
@@ -154,8 +154,10 @@ private:
       uint8_t SC = Symb->StorageClass;
       if (SC != llvm::COFF::IMAGE_SYM_CLASS_EXTERNAL &&
           SC != llvm::COFF::IMAGE_SYM_CLASS_STATIC &&
-          SC != llvm::COFF::IMAGE_SYM_CLASS_FUNCTION) {
-        llvm::errs() << "Unable to create atom for: " << Name << "\n";
+          SC != llvm::COFF::IMAGE_SYM_CLASS_FUNCTION &&
+          SC != llvm::COFF::IMAGE_SYM_CLASS_LABEL) {
+        llvm::errs() << "Unable to create atom for: " << Name
+                     << " (" << (int)SC << ")\n";
         return llvm::object::object_error::parse_failed;
       }
       const coff_section *Sec;