Prevent users from using a version of lldb that is too old.
Before version 3.8 there was a hang and other issues. If the
version cannot be determined, the launch stil proceeds. This
is because there is no good way to get the version from the
lldb-mi executable but rather, we can only do a best-effort
to get the version from the normal lldb executable. If the
lldb executable is not present but the lldb-mi is, this is a
valid way to use the debugger but the version cannot be determined.
In the future, it would be better if the lldb-mi executable could
report the lldb version directly. But this would be an improvement
in lldb, not CDT.
Change-Id: Ief8a4ebd3ea1e3d549a5cef41ac3030ec48734c4
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit adds a preference page for LLDB. For now, only LLDB path
and the "stop at main" preferences are exposed.
Bug: 405670
Change-Id: I4ba30fdb48ecd0cdfc6e3aac35fe0de38563c354
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit adds support for debugging new processes launched locally
using the LLDB debugger (lldb-mi). The minimum version supported is
LLDB 3.8.
Preliminary documentation on how to set it up is available here:
https://github.com/MarkZ3/Eclipse-CDT-WIP/issues/9#issuecomment-236483223
Bug: 405670
Change-Id: If46543e974e2f19c45ab3bba088eab35fe737077
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
There are many opportunities for replacing `StringBuffer` with
`StringBuilder` provided that the type isn't visible from the
public API and is used only in internal methods. Replace these
where appropriate.
Change-Id: Ic2f50c5b6f3c3a4eae301bb3b40fb6faed235f79
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
In many cases a String's empty status is tested with `.equals("")`.
However, Java 1.6 added `.isEmpty()` which can be more efficient since
it compares the internal length parameter only for testing. Replace
code using the `.isEmpty()` variant instead.
Some tests for `"".equals(expr)` can be replaced with `expr.isEmpty()`
where it is already known that the `expr` is not null; however,
these have to be reviewed on a case-by-case basis.
Change-Id: I3c6af4d8b7638e757435914ac76cb3a67899a5fd
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
- Fix LlvmEnvironmentVariableSupplier.getDirIfLlvmFound method
which was not bothering to look for llvm-ar in the user's path
because it would only set its internal llvmPath variable if
directories ended in '/' or if a subdir was provided which is
not the case for it being called from LlvmToolChainSupported
- set the llvmPath to the candidatePath at the beginning so the
test will be performed
Change-Id: I4b93fb3e569c32cff580c57dbedbe730dbbe057e
Prevents LLVM page being top level and makes LLVM threated more like
XLC.
Change-Id: I189f9fb00f256c9721d95b7a163284db4e31d370
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Reviewed-on: https://git.eclipse.org/r/30296
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
This allows compiling in the IDE and not fail because of exception not
used in catch block.
Change-Id: I162645b25162d80b4447d87edabc4d436d6d9d2f
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Reviewed-on: https://git.eclipse.org/r/30295
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
features
Change-Id: I52a71e62f8161990657e96ef52403fd7f69698a2
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/27499
This means that:
- feature.xml files now make a reference to the shared license plugin
using version 0.0.0
- feature.properties files no longer have the text for the license
- license.html and epl-v10.html files are removed as they are part
of the shared license plugin
- build.properties files no longer reference removed files
- the main pom.xml file references the license repository
Change-Id: Ibd880480de3a07597084d44cce7b822903509079
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/27250
adding an include directory
Remove the Text control. It doesn't look like it was being used in any
way.
Change-Id: Ib9266678c1211309979b96c2e8cda6087c759254
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/14532
Also fixed binary parser on Mac.
llvm-ld doesn't exist in newer llvm implementations. From what I can
tell, clang now just calls the real linker after running and massaging
the bc files.
Changed to call clang and clang++ drivers at link time. Had to fix
some of the options to make it work. Just a stop gap since there are
more issues to resolve but at least it's enough to get working.
Change-Id: I54b78e85b16a77549a5be9d282bc6f47f723947d
Reviewed-on: https://git.eclipse.org/r/13515
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>