The implementation strategy is as follows:
- Implement an option to find potential matches during an AST
definition search.
- Store names that resolve to ProblemBindings in the index,
as references for the candidate bindings, annotated as being
potential matches.
- Add an option to Index.findNames() to include potential matches.
- Use the added options for the index and AST searches in
OpenDeclarationsJob, prioritizing them accordingly (e.g. exact index
matches take precedence over potential AST matches, but if there
are no exact matches, potential matches from the AST and the index
are combined).
Change-Id: I19f5c58820eb3ec79a31652d69fd5b86acaba115
Previously, we would only try the first base class whose primary
template matched that of the parameter type.
Change-Id: I0511e6a1ba1c7197887ff23bc37b70a2a820eb87
In the new toolchain wizard, the select button wasn't hooked up.
So I turned it off. Also, we had no build settings tab on the serial
launch.
Change-Id: I811f579334889085f49d298878589109c5e4a228
Move Toolchains directly under C/C++ and rename to Core
Build Toolchains. Add a label describing what the toolchains
are for in hope of avoiding confusion with managed build.
Also move Qt into C/C++.
Change-Id: Ia1d76087c65b26562d1001243ea355c7ac32365e
When projects were deleted, sometimes the descriptors
would not. We were creating our own core build launch
descs which didn't have an equals method causing duplicate
entries to be created. Arduino uses launch bar's project
launch descs. This change does the same for core build.
Change-Id: I2a6f60e92aaa20892d6c1d8331ded903b226984f
- Add volatile variant for __atomic_clear and __atomic_test_and_set
- Add missing parameters for __builtin_fmax and related
Change-Id: Ib31d1a410b8749f5672d70d7d02ca1dff962c38b
Signed-off-by: Martin Oberhuber <mober.at+eclipse@gmail.com>
The evaluated type of 'decltype(auto)' in combination with const and/or
volatile will be a ProblemType since this is not valid code. The patch
also contains a checker to give the user a visual feedback.
Note: A proposed quick-fix has been removed after a short discussion.
Change-Id: I8760ed0ac28e28529ab30516accac9c0413c87d9
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
We weren't passing in the base settings to the compiler for
discovery. Also had a bug in the defines regex that mishandled
values with spaces in them.
Change-Id: I48183bfc3f61056324da009e58327cdcfed8754a
When deleting projects then creating them with the same name
the scanner info didn't get cleared up and was reused. We
were deleting these files from the wrong path.
Change-Id: Ieda174b7cfc9690ab51be65e674bda321cb3bc10
We were missing the dialog to ask if you wanted to continue
after build errors in a project. We were missing the method
that provided the list of projects to do that check.
Also while testing that noticed the handling of the build
and clean command UI was broken with make projects.
Change-Id: I698e151672a114bb22c815f49d362b6413b9c315
If we're building for non-local targets we need a toolchain
file. Print out an error message when it's missing at build
time. Recover when one is added.
Also a rider that makes sure the Makefile projects are
marked experimental.
Change-Id: I0c295dc5b3d71a04c60c3385ce790553f172859d
The call to CDTBuildAction's super updateSelection method
clears out some state. Make sure we call it even though we
want to always build CDT projects.
Change-Id: Ie5dc1f583bbcc04d85b7254a4b7c18ee50f02997
If you select a non-CDT project then select a CDT one, the
Build Project menu item wouldn't enable. If you select the
CDT project again, it does. Big question is why isn't it enabled
when selected.
This fix just enables it all the time. Much easier for users
to understand.
Change-Id: I674740f2c6998686cade1f910a269a4e9d935d39
Makefile projects depend on build output parsing to pick up
compiler options to use while indexing. Sometimes, that just
doesn't work. As a back up we've always allowed users to manually
add them to the project. Long ago when we had pure make projects
we had UI for this. This change hooks that old UI up. It was a
time before build configs so they get applied to them all but it
serves it's role as a backup when users run into problems.
Unmarked everything I use here from deprecated until we decide
how to replace these with Core build config aware settings.
Change-Id: I6fc4d48e5315df3c60c7591b026ae0a53a1f505e
Removed the empty debug.core.tests project. Also removed the
utils-feature and remote-feature projects since these shouldn't
be features.
Change-Id: Ib5d297c626de5328e3421a1fc9346330d9907750
Also set BUILD_MODE to the launch mode so the makefile can do
different things based on the mode. Change template to add -g
option for debug.
Also fix a deadlock I detected due to side affect build folder
creation.
Change-Id: Ic7b13ba3238e6ef201cccb1b2bfc8dcc6956ea3a
- move ContainerCommandLauncher to org.eclipse.cdt.docker
- update DockerLaunchUIPlugin to be noextend
- update users of ContainerCommandLauncher appropriately
Change-Id: I32ea6de3b3df12b6579249583303111bf6b7b957
The CMake toolchain file editor was not recording the correct
toolchain. The same was also true for the toolchain selection in
the build settings tab.
Change-Id: I62e4c7ae0175da7c1b5ffb7f89e321a371a6e8e0
The previous implementation deviated from the C++ standard by checking
that the types of the return expressions are the same, rather than the
return types after deduction against the placeholder type.
There was also a bug in the return type deduction code for lambdas,
where for a lambda without an explicit placeholder in the trailing-
return-type, the deduction process wouldn't be performed.
Change-Id: I2f0b9f1c7778aef60e4cd7ada9386b99be52669a
Instead of an indiscriminate NPE at termination of a launch, handle it
more cleanly with a friendly error message.
Change-Id: Ie37e675c3f5e4883c0b160bfe86c4848f1983fa7
The o.e.c.debug.ui uses some internals in o.e.ui.ide that only existed
in Oxygen and greater. Bug 516470, which should be fixed for Photon will
mean these internals can be removed.
Change-Id: If0fbd186a8d6b77a6cb6b8a9d231c784b45cb88d
Adds target, launch classes, and launch bar support for targets
intended to upload their code to flash using a Serial Port. The
port is co-ordinated with the Serial Terminal so that the terminal
is paused during the upload.
Also cleaned up the Generic Launch so it's not using the
External Tools launch which has a number of UX issues. This
simplifies the settings and gives us more control. And it's made
reusable for the Serial Flash launch.
Change-Id: I31e9970243fbf1cf22d027bbdb892fde104dbefe
The computation had a bug where the array decayed to a pointer, and we
tried to use the pointer's value as a composite value, instead of the
underlying array's value.
Change-Id: I9510d28e04deb0b8ef835e2857f8b513d11d1d72
This works around the fact that the optimization introduced in bug 316704
inteferes with the mechanism for offering completions for both alternatives
in an ambiguous context.
Change-Id: Ibe14c1b4f2f9c9b3394d4635c87424a25fbd7a53
Using ESP-IDF (the ESP32 FreeRTOS SDK) on MSYS2 as a test bed.
Making sure the indexer picks up as much as it can. Removed -j
since that messes up build output parsing. Add UI so you can put
it back if you want.
Change-Id: I767c739dce1412c75fb56d0bb1efceb913883a5f