[lld] r187643 - [PECOFF] Simplify COFFBSSAtom.

Rui Ueyama ruiu at google.com
Thu Aug 1 22:04:07 PDT 2013


Author: ruiu
Date: Fri Aug  2 00:04:06 2013
New Revision: 187643

URL: http://llvm.org/viewvc/llvm-project?rev=187643&view=rev
Log:
[PECOFF] Simplify COFFBSSAtom.

A instance of the class always represents a BSS atom, so we don't need
to look at the symbol or the section to retrieve its attributes.

Modified:
    lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp

Modified: lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h?rev=187643&r1=187642&r2=187643&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h Fri Aug  2 00:04:06 2013
@@ -235,11 +235,13 @@ private:
 class COFFBSSAtom : public COFFDefinedFileAtom {
 public:
   COFFBSSAtom(const File &file, StringRef name, const coff_symbol *symbol,
-              const coff_section *section, uint32_t size,
-              StringRef sectionName, uint64_t ordinal)
-      : COFFDefinedFileAtom(file, name, symbol, section, sectionName, ordinal),
+              uint32_t size, uint64_t ordinal)
+      : COFFDefinedFileAtom(file, name, symbol, nullptr, "", ordinal),
         _size(size) {}
 
+  virtual ContentPermissions permissions() const { return permRW_; }
+  virtual ContentType contentType() const { return typeZeroFill; }
+  virtual Merge merge() const { return mergeNo; }
   virtual uint64_t size() const { return _size; }
   virtual ArrayRef<uint8_t> rawContent() const { return _contents; }
 

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=187643&r1=187642&r2=187643&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Fri Aug  2 00:04:06 2013
@@ -220,8 +220,7 @@ private:
             ? section->SizeOfRawData - sym->Value
             : si[1]->Value - sym->Value;
         auto *atom = new (_alloc) COFFBSSAtom(
-            *this, _symbolName[sym], sym, section, size, sectionName,
-            ++ordinal);
+            *this, _symbolName[sym], sym, size, ++ordinal);
         atoms.push_back(atom);
         _symbolAtom[sym] = atom;
       }





More information about the llvm-commits mailing list