If we call it without cloning, we associate the value with every place
that has a reference to that CPPBasicType object, which could involve
completely unrelated entities.
Change-Id: Icff6c32d15ee6dbc55e363b2de9a166e03440f74
This started happening when I added the ErrorBuildConfiguration which
returns a null id. This happens when you create a CMake project and
add a new launch target. Not totally sure how we got an error config
for that. Will investigate that later.
Change-Id: I1a4e7c528d2cee101a432d386ad6a7505b9983b6
Although a little profile "magic" is needed, by adding -DuseSimrelRepo
to the command line to enable and disable the correct profiles
individual mvn projects can be built against the simrelRepo.
This enables, for example, the ability to build the standalone debugger
against the simrel repo without having to change how normal builds are
done by using:
mvn verify -DuseSimrelRepo -f debug/org.eclipse.cdt.debug.application.product
A simrel p2 site can also be provided with -Dsimrel-site=<url>
Change-Id: I45a636c3c1042bc2fbb6eea5129c6553027e92df
When at the same time never join wrapped lines and next line
for opening function brace were selected, two tabs were added.
Change-Id: I90f606bf7f8b7bb7e83f3ae85d7cbb9cd0146b97
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
Use the toolchain type and id as the key to the Map holding the
toolchain files instead of the Path to the file. Also simplifies the
build config since we can always figure out the toolchain file from
the toolchain. Deprecate getting toolchain by path since that shouldn't
be needed any more.
Also took the opportunity to add javadoc to the interfaces.
Change-Id: I11ae2ad8177a3f60399742c8c19576f85ea4b8c0
Because of the missing getRecordSize implementations, subclasses would
starting writing in records that were thought to be malloc'ed by
the parent but it was instead writing in other blocks, possible used
by other PDOM objects or free blocks to be used later and now not initialized
to 0.
This could lead to a few different exceptions like
- BufferUnderflowException(Chunk.getChars)
- CoreException: Corrupted database
- ArrayIndexOutOfBoundsException(AbstractIndexerTask$IndexFileContent.merge)
and possibly others.
Change-Id: Ie6d1986a22a9fb5f5e90cb741046d098ebf10a90
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
README:
Create a C/C++ Application launch as normal, and in the Launch
Configuration dialog click "Select other..." at the bottom/center
and selecting GDB (DAP) Debug Process Launcher
(you can't do this in the LaunchBar's dialog as it does not support
changing the launcher).
Then debug as you normally do (with less features so far :-)
Change-Id: Ia36acedf064b3774c6ac2a863880eaf7efe9c399
When DSF was first created it was a separate project that borrowed
heavily from CDT, as such (AFAICT) some code was copied from
o.e.cdt.launch to DSF. This commit de-duplicates some of that code
as the DAP implementation wants to reuse the code too and another
copy is not wanted.
Change-Id: Ie54187dabc9c32224575c0bf51bcabfab00ca340
We need a way to alert the user that we are unable to find a toolchain
that maps to the current target. An ErrorBuildConfiguration is created
that simply prints out an error message at build time to handle this.
We then set one of these as the active build config in the tracker
with the appropriate message.
We also add a target listener so that when a target becomes OK_STATUS,
we run the tracker again to see if we have the right active build
config for that target. Some targets can only determine some of their
attributes when connected.
Hook up the IToolChain matches so we're using it in the toolchain
manager. This allows toolchains to do more complicated matching of
the properties.
Change-Id: Icaff85117e8147cd2793f2915fa75ce33673ab52
This change adds a few more macro to define things that are supposed to
be built-in in MSVC. Eventually we might want to move some of those to
the parser but it's not clear to me if we want to polute the GCC parser
with all of this.
Change-Id: I6672d8f14470115aa37a0d76b2b4fb086fe4494f
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
Add existing type-traits that were implemented for GCC that are relevant to
MSVC. Some are missing but even with those parsing is improved with minimal
effort. For the LLVM codebase, I see it go from 0.46% unresolved names (16,668)
to 0.19% (6,950).
This is combined with another patch that adds temporary macro hacks.
Change-Id: I441dcfa4a986edef78b75c0d6db04b78fdbc97b3
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
While a literal expression itself will never be negative (the negative
sign is parsed as a unary operator), we also use FloatingPointValue to
represent results during value computations which can be negative.
Change-Id: I16227b2d19256066b094ae60476e124b4bcea14d