diff --git a/lldb/include/lldb/lldb-enumerations.h b/lldb/include/lldb/lldb-enumerations.h index c1d399c1c9912..f70ee0cd7b28b 100644 --- a/lldb/include/lldb/lldb-enumerations.h +++ b/lldb/include/lldb/lldb-enumerations.h @@ -378,6 +378,8 @@ namespace lldb { eLanguageTypeUPC = 0x0012, ///< Unified Parallel C. eLanguageTypeD = 0x0013, ///< D. eLanguageTypePython = 0x0014, ///< Python. + // NOTE: The below are DWARF5 constants, subject to change upon + // completion of the DWARF5 specification eLanguageTypeOpenCL = 0x0015, ///< OpenCL. eLanguageTypeGo = 0x0016, ///< Go. eLanguageTypeModula3 = 0x0017, ///< Modula 3. @@ -390,6 +392,9 @@ namespace lldb { eLanguageTypeSwift = 0x001e, ///< Swift. eLanguageTypeJulia = 0x001f, ///< Julia. eLanguageTypeDylan = 0x0020, ///< Dylan. + eLanguageTypeC_plus_plus_14 = 0x0021, ///< ISO C++:2014. + eLanguageTypeFortran03 = 0x0022, ///< ISO Fortran 2003. + eLanguageTypeFortran08 = 0x0023, ///< ISO Fortran 2008. eNumLanguageTypes } LanguageType; diff --git a/lldb/source/Commands/CommandObjectBreakpoint.cpp b/lldb/source/Commands/CommandObjectBreakpoint.cpp index 580145cfad5c7..025524b3b9a57 100644 --- a/lldb/source/Commands/CommandObjectBreakpoint.cpp +++ b/lldb/source/Commands/CommandObjectBreakpoint.cpp @@ -167,6 +167,7 @@ class CommandObjectBreakpointSet : public CommandObjectParsed case eLanguageTypeC_plus_plus: case eLanguageTypeC_plus_plus_03: case eLanguageTypeC_plus_plus_11: + case eLanguageTypeC_plus_plus_14: m_language = eLanguageTypeC_plus_plus; break; case eLanguageTypeObjC: diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp index a6c74f3f1fc40..50537eb119f29 100644 --- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp +++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp @@ -291,7 +291,8 @@ ItaniumABILanguageRuntime::CreateInstance (Process *process, lldb::LanguageType // the Itanium ABI. if (language == eLanguageTypeC_plus_plus || language == eLanguageTypeC_plus_plus_03 || - language == eLanguageTypeC_plus_plus_11) + language == eLanguageTypeC_plus_plus_11 || + language == eLanguageTypeC_plus_plus_14) return new ItaniumABILanguageRuntime (process); else return NULL; diff --git a/lldb/source/Target/LanguageRuntime.cpp b/lldb/source/Target/LanguageRuntime.cpp index 358bffee3a4d4..123ee93d322fd 100644 --- a/lldb/source/Target/LanguageRuntime.cpp +++ b/lldb/source/Target/LanguageRuntime.cpp @@ -337,6 +337,9 @@ struct language_name_pair language_names[] = { "swift", eLanguageTypeSwift }, { "julia", eLanguageTypeJulia }, { "dylan", eLanguageTypeDylan }, + { "c++14", eLanguageTypeC_plus_plus_14 }, + { "fortran03", eLanguageTypeFortran03 }, + { "fortran08", eLanguageTypeFortran08 }, // Now synonyms, in arbitrary order { "objc", eLanguageTypeObjC }, { "objc++", eLanguageTypeObjC_plus_plus }