comparison include/llvm/DebugInfo/CodeView/SymbolDeserializer.h @ 148:63bd29f05246

merged
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Aug 2019 19:46:37 +0900
parents c2174574ed3a
children
comparison
equal deleted inserted replaced
146:3fc4d5c3e21e 148:63bd29f05246
1 //===- SymbolDeserializer.h -------------------------------------*- C++ -*-===// 1 //===- SymbolDeserializer.h -------------------------------------*- C++ -*-===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // 4 // See https://llvm.org/LICENSE.txt for license information.
5 // This file is distributed under the University of Illinois Open Source 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 // License. See LICENSE.TXT for details.
7 // 6 //
8 //===----------------------------------------------------------------------===// 7 //===----------------------------------------------------------------------===//
9 8
10 #ifndef LLVM_DEBUGINFO_CODEVIEW_SYMBOLDESERIALIZER_H 9 #ifndef LLVM_DEBUGINFO_CODEVIEW_SYMBOLDESERIALIZER_H
11 #define LLVM_DEBUGINFO_CODEVIEW_SYMBOLDESERIALIZER_H 10 #define LLVM_DEBUGINFO_CODEVIEW_SYMBOLDESERIALIZER_H
45 if (auto EC = S.visitSymbolEnd(Symbol)) 44 if (auto EC = S.visitSymbolEnd(Symbol))
46 return EC; 45 return EC;
47 return Error::success(); 46 return Error::success();
48 } 47 }
49 template <typename T> static Expected<T> deserializeAs(CVSymbol Symbol) { 48 template <typename T> static Expected<T> deserializeAs(CVSymbol Symbol) {
50 T Record(Symbol.kind()); 49 T Record(static_cast<SymbolRecordKind>(Symbol.kind()));
51 if (auto EC = deserializeAs<T>(Symbol, Record)) 50 if (auto EC = deserializeAs<T>(Symbol, Record))
52 return std::move(EC); 51 return std::move(EC);
53 return Record; 52 return Record;
54 } 53 }
55 54