diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-06-01 20:58:36 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-06-01 20:58:36 +0000 | 
| commit | f382538d471e38a9b98f016c4caebd24c8d60b62 (patch) | |
| tree | d30f3d58b1044b5355d50c17a6a96c6a0b35703a /include/llvm/DebugInfo/CodeView/SymbolSerializer.h | |
| parent | ee2f195dd3e40f49698ca4dc2666ec09c770e80d (diff) | |
Notes
Diffstat (limited to 'include/llvm/DebugInfo/CodeView/SymbolSerializer.h')
| -rw-r--r-- | include/llvm/DebugInfo/CodeView/SymbolSerializer.h | 13 | 
1 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/DebugInfo/CodeView/SymbolSerializer.h b/include/llvm/DebugInfo/CodeView/SymbolSerializer.h index f2e99bd83326..a8fe1a3ae1d0 100644 --- a/include/llvm/DebugInfo/CodeView/SymbolSerializer.h +++ b/include/llvm/DebugInfo/CodeView/SymbolSerializer.h @@ -45,6 +45,17 @@ class SymbolSerializer : public SymbolVisitorCallbacks {    }  public: +  template <typename SymType> +  static CVSymbol writeOneSymbol(SymType &Sym, BumpPtrAllocator &Storage) { +    CVSymbol Result; +    Result.Type = static_cast<SymbolKind>(Sym.Kind); +    SymbolSerializer Serializer(Storage); +    consumeError(Serializer.visitSymbolBegin(Result)); +    consumeError(Serializer.visitKnownRecord(Result, Sym)); +    consumeError(Serializer.visitSymbolEnd(Result)); +    return Result; +  } +    explicit SymbolSerializer(BumpPtrAllocator &Storage);    virtual Error visitSymbolBegin(CVSymbol &Record) override; @@ -55,7 +66,7 @@ public:      return visitKnownRecordImpl(CVR, Record);                                  \    }  #define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) -#include "CVSymbolTypes.def" +#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"  private:    template <typename RecordKind>  | 
