blob: db7827d551d838b6f4f89b83d66ef2e9b32468e8 [file] [log] [blame]
Stephen Wilson67d9f7e2011-03-30 15:55:52 +00001//===-- ProcessMessage.cpp --------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "ProcessMessage.h"
11
12using namespace lldb_private;
13
14const char *
15ProcessMessage::GetCrashReasonString(CrashReason reason)
16{
17 const char *str = NULL;
18
19 switch (reason)
20 {
21 default:
22 assert(false && "invalid CrashReason");
23 break;
24
25 case eInvalidAddress:
26 str = "invalid address";
27 break;
28 case ePrivilegedAddress:
29 str = "address access protected";
30 break;
31 case eIllegalOpcode:
32 str = "illegal instruction";
33 break;
34 case eIllegalOperand:
35 str = "illegal instruction operand";
36 break;
37 case eIllegalAddressingMode:
38 str = "illegal addressing mode";
39 break;
40 case eIllegalTrap:
41 str = "illegal trap";
42 break;
43 case ePrivilegedOpcode:
44 str = "privileged instruction";
45 break;
46 case ePrivilegedRegister:
47 str = "privileged register";
48 break;
49 case eCoprocessorError:
50 str = "coprocessor error";
51 break;
52 case eInternalStackError:
53 str = "internal stack error";
54 break;
55 case eIllegalAlignment:
56 str = "illegal alignment";
57 break;
58 case eIllegalAddress:
59 str = "illegal address";
60 break;
61 case eHardwareError:
62 str = "hardware error";
63 break;
64 case eIntegerDivideByZero:
65 str = "integer divide by zero";
66 break;
67 case eIntegerOverflow:
68 str = "integer overflow";
69 break;
70 case eFloatDivideByZero:
71 str = "floating point divide by zero";
72 break;
73 case eFloatOverflow:
74 str = "floating point overflow";
75 break;
76 case eFloatUnderflow:
77 str = "floating point underflow";
78 break;
79 case eFloatInexactResult:
80 str = "inexact floating point result";
81 break;
82 case eFloatInvalidOperation:
83 str = "invalid floating point operation";
84 break;
85 case eFloatSubscriptRange:
86 str = "invalid floating point subscript range";
87 break;
88 }
89
90 return str;
91}