diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Mips/MipsMCSymbolRefExpr.cpp')
| -rw-r--r-- | contrib/llvm/lib/Target/Mips/MipsMCSymbolRefExpr.cpp | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/llvm/lib/Target/Mips/MipsMCSymbolRefExpr.cpp b/contrib/llvm/lib/Target/Mips/MipsMCSymbolRefExpr.cpp index 9a2bdae0e339..a0a242c8c443 100644 --- a/contrib/llvm/lib/Target/Mips/MipsMCSymbolRefExpr.cpp +++ b/contrib/llvm/lib/Target/Mips/MipsMCSymbolRefExpr.cpp @@ -33,6 +33,11 @@ void MipsMCSymbolRefExpr::PrintImpl(raw_ostream &OS) const {    case VK_Mips_GOTTPREL: OS << "%gottprel("; break;    case VK_Mips_TPREL_HI: OS << "%tprel_hi("; break;    case VK_Mips_TPREL_LO: OS << "%tprel_lo("; break; +  case VK_Mips_GPOFF_HI: OS << "%hi(%neg(%gp_rel("; break; +  case VK_Mips_GPOFF_LO: OS << "%lo(%neg(%gp_rel("; break; +  case VK_Mips_GOT_DISP: OS << "%got_disp("; break; +  case VK_Mips_GOT_PAGE: OS << "%got_page("; break; +  case VK_Mips_GOT_OFST: OS << "%got_ofst("; break;    }    OS << *Symbol; @@ -43,7 +48,9 @@ void MipsMCSymbolRefExpr::PrintImpl(raw_ostream &OS) const {      OS << Offset;    } -  if (Kind != VK_Mips_None) +  if (Kind == VK_Mips_GPOFF_HI || Kind == VK_Mips_GPOFF_LO) +    OS << ")))"; +  else if (Kind != VK_Mips_None)      OS << ')';  }  | 
