Mercurial > hg > Members > tobaru > cbc > CbC_llvm
view lib/MC/MCValue.cpp @ 107:a03ddd01be7e
resolve warnings
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 31 Jan 2016 17:34:49 +0900 |
parents | afa8332a0e37 |
children | 1172e4bd9c6f |
line wrap: on
line source
//===- lib/MC/MCValue.cpp - MCValue implementation ------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "llvm/MC/MCValue.h" #include "llvm/MC/MCExpr.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; void MCValue::print(raw_ostream &OS) const { if (isAbsolute()) { OS << getConstant(); return; } // FIXME: prints as a number, which isn't ideal. But the meaning will be // target-specific anyway. if (getRefKind()) OS << ':' << getRefKind() << ':'; OS << *getSymA(); if (getSymB()) { OS << " - "; OS << *getSymB(); } if (getConstant()) OS << " + " << getConstant(); } #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) void MCValue::dump() const { print(dbgs()); } #endif MCSymbolRefExpr::VariantKind MCValue::getAccessVariant() const { const MCSymbolRefExpr *B = getSymB(); if (B) { if (B->getKind() != MCSymbolRefExpr::VK_None) llvm_unreachable("unsupported"); } const MCSymbolRefExpr *A = getSymA(); if (!A) return MCSymbolRefExpr::VK_None; MCSymbolRefExpr::VariantKind Kind = A->getKind(); if (Kind == MCSymbolRefExpr::VK_WEAKREF) return MCSymbolRefExpr::VK_None; return Kind; }