Mercurial > hg > CbC > CbC_llvm
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 |