summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-03-20 06:28:55 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-03-20 06:28:55 +0000
commitb000c172ed6f23fad76d2e96dd16ff0e0bc799ae (patch)
tree40fe5796a273fc37a61669f52c30e85a495e88cb
parent8bd2799a2d1e260a7908eb5ed3d5cfa39ad106bb (diff)
downloadllvm-b000c172ed6f23fad76d2e96dd16ff0e0bc799ae.tar.gz
llvm-b000c172ed6f23fad76d2e96dd16ff0e0bc799ae.tar.bz2
llvm-b000c172ed6f23fad76d2e96dd16ff0e0bc799ae.tar.xz
Object: Abstract out the determination of function line symbols
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204313 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Object/COFF.h4
-rw-r--r--tools/obj2yaml/coff2yaml.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/include/llvm/Object/COFF.h b/include/llvm/Object/COFF.h
index 0f24c1b8e5..31b7d6ea17 100644
--- a/include/llvm/Object/COFF.h
+++ b/include/llvm/Object/COFF.h
@@ -210,6 +210,10 @@ struct coff_symbol {
!COFF::isReservedSectionNumber(SectionNumber);
}
+ bool isFunctionLineInfo() const {
+ return StorageClass == COFF::IMAGE_SYM_CLASS_FUNCTION;
+ }
+
bool isWeakExternal() const {
return StorageClass == COFF::IMAGE_SYM_CLASS_WEAK_EXTERNAL ||
(StorageClass == COFF::IMAGE_SYM_CLASS_EXTERNAL &&
diff --git a/tools/obj2yaml/coff2yaml.cpp b/tools/obj2yaml/coff2yaml.cpp
index b003029407..1542506e5f 100644
--- a/tools/obj2yaml/coff2yaml.cpp
+++ b/tools/obj2yaml/coff2yaml.cpp
@@ -157,7 +157,7 @@ void COFFDumper::dumpSymbols(unsigned NumSymbols) {
reinterpret_cast<const object::coff_aux_function_definition *>(
AuxData.data());
dumpFunctionDefinition(&Sym, ObjFD);
- } else if (Symbol->StorageClass == COFF::IMAGE_SYM_CLASS_FUNCTION) {
+ } else if (Symbol->isFunctionLineInfo()) {
// This symbol describes function line number information.
assert(Symbol->NumberOfAuxSymbols == 1 &&
"Exepected a single aux symbol to describe this section!");