Add enumerations for additional languages from DWARF spec updates.

llvm-svn: 212246
This commit is contained in:
Bruce Mitchener 2014-07-03 00:49:08 +00:00
parent f204208e4f
commit 1d0089fa5c
4 changed files with 24 additions and 1 deletions

View File

@ -369,6 +369,15 @@ namespace lldb {
eLanguageTypeUPC = 0x0012, ///< Unified Parallel C.
eLanguageTypeD = 0x0013, ///< D.
eLanguageTypePython = 0x0014, ///< Python.
eLanguageTypeOpenCL = 0x0015, ///< OpenCL.
eLanguageTypeGo = 0x0016, ///< Go.
eLanguageTypeModula3 = 0x0017, ///< Modula 3.
eLanguageTypeHaskell = 0x0018, ///< Haskell.
eLanguageTypeC_plus_plus_03 = 0x0019, ///< ISO C++:2003.
eLanguageTypeC_plus_plus_11 = 0x001a, ///< ISO C++:2011.
eLanguageTypeOCaml = 0x001b, ///< OCaml.
eLanguageTypeRust = 0x001c, ///< Rust.
eLanguageTypeC11 = 0x001d, ///< ISO C:2011.
eNumLanguageTypes
} LanguageType;

View File

@ -154,9 +154,12 @@ public:
case eLanguageTypeC89:
case eLanguageTypeC:
case eLanguageTypeC99:
case eLanguageTypeC11:
m_language = eLanguageTypeC;
break;
case eLanguageTypeC_plus_plus:
case eLanguageTypeC_plus_plus_03:
case eLanguageTypeC_plus_plus_11:
m_language = eLanguageTypeC_plus_plus;
break;
case eLanguageTypeObjC:

View File

@ -289,7 +289,9 @@ ItaniumABILanguageRuntime::CreateInstance (Process *process, lldb::LanguageType
{
// FIXME: We have to check the process and make sure we actually know that this process supports
// the Itanium ABI.
if (language == eLanguageTypeC_plus_plus)
if (language == eLanguageTypeC_plus_plus ||
language == eLanguageTypeC_plus_plus_03 ||
language == eLanguageTypeC_plus_plus_11)
return new ItaniumABILanguageRuntime (process);
else
return NULL;

View File

@ -307,6 +307,15 @@ struct language_name_pair language_names[] =
{ "upc", eLanguageTypeUPC },
{ "d", eLanguageTypeD },
{ "python", eLanguageTypePython },
{ "opencl", eLanguageTypeOpenCL },
{ "go", eLanguageTypeGo },
{ "modula3", eLanguageTypeModula3 },
{ "haskell", eLanguageTypeHaskell },
{ "c++03", eLanguageTypeC_plus_plus_03 },
{ "c++11", eLanguageTypeC_plus_plus_11 },
{ "ocaml", eLanguageTypeOCaml },
{ "rust", eLanguageTypeRust },
{ "c11", eLanguageTypeC11 },
// Now synonyms, in arbitrary order
{ "objc", eLanguageTypeObjC },
{ "objc++", eLanguageTypeObjC_plus_plus }