llvm-project/lldb
Raphael Isemann 8340fbb9c7 [lldb] Reactivate Objective-C++ plugin
Summary:
Since commit 7b3ef05a37 the Objective-C++ plugin is dead code.
That commit added Objective-C++ to the list of languages for which `Language::LanguageIsCPlusPlus`
returns true. As the C++ language plugin also uses that method to figure out if it is responsible for a
given language, the C++ plugin since then also became the plugin that we found when looking for
a language plugin for Objective-C++. The only real fallout from that is that the source highlighting
for Objective-C++ files never worked as we always found the C++ plugin which refuses to highlight
files with Objective-C++ extensions.

This patch just adds a special exception for Objective-C++ to the list of languages that are governed
by the C++ plugin. Also adds a test that makes sure that we find the right plugin for all C language
types and that the highlighting for `.mm` (Objective-C++) and `.m` (Objective-C) files works.

I didn't revert 7b3ef05a37 as it does make sense to return
true for Objective-C++ from `Language::LanguageIsCPlusPlus` (e.g., we currently check if we care about
ODR violations by doing `if (Language::LanguageIsCPlusPlus(...))` and this should also work for
Objective-C++).

Fixes rdar://64420183

Reviewers: aprantl

Reviewed By: aprantl

Subscribers: mgorny, abidh, JDevlieghere

Differential Revision: https://reviews.llvm.org/D82109
2020-06-19 19:16:46 +02:00
..
bindings [lldb/Test] Assert that no targets or modules remain after a test completes. 2020-06-12 15:17:44 -07:00
cmake [lldb/CMake] Add LLDB_PYTHON_VERSION to use Python 2 with CMake > 3.12 2020-06-09 14:11:11 -07:00
docs [lldb/Docs] Reword paragraph and omit 'build slave' 2020-06-15 18:25:57 -07:00
examples [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
include/lldb Set appropriate host defines for building under emscripten 2020-06-18 17:00:53 -07:00
packages/Python Repair support for launching ios/tv/watch simulator binaries through platform 2020-06-19 09:42:44 -07:00
resources
scripts [lldb/Scripts] proc.returncode is set in proc.communicate 2020-04-21 11:30:15 -07:00
source [lldb] Reactivate Objective-C++ plugin 2020-06-19 19:16:46 +02:00
test [lldb] Fix that SIGWINCH crashes IOHandlerEditline when we are not using the editline backend 2020-06-19 19:14:16 +02:00
third_party/Python/module [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
tools [lldb/debugserver] Rename Master/Slave to Primary/Secondary (NFC) 2020-06-15 18:22:22 -07:00
unittests [lldb] Reactivate Objective-C++ plugin 2020-06-19 19:16:46 +02:00
utils [lldb/Utils] Serialize exit code in lldb-repro.py 2020-05-05 16:05:49 -07:00
.clang-format
.clang-tidy [lldb] Add .clang-tidy with customization to disable readability-identifier-naming 2020-03-09 12:50:28 -07:00
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [lldb/CMake] Only CMAKE_CFG_INTDIR if it's not '.' 2020-03-27 17:49:00 -07:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
use_lldb_suite_root.py