The special binding type CPPLambdaExpressionParameter is removed.
Instead, a lambda expression parameters's are represented as
regular CPPParameters owned by the closure type's generated
function call operator.
Change-Id: I4afeac90c2595a1f84dfa59f057d0494b64d079c
The pseudo-destructor is represented as a CPPImplicitFunction, computed
lazily and stored by CPPBasicType.
This commit also adds support for alias templates to
CPPTemplates.getTemplateName().
Change-Id: I6774556b2493cb68d32c3007d6ce48c7805595f4
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
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
- 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>
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
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
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
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
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
Often Makefile projects are intended to be built from the project
root directory, such as ESP32 IDF projects. This adds a setting to
control that.
Change-Id: I151ebf60a7609461d24e192a9d6418fccb737055
- the CommandLauncherManager.CommandLauncherWrapper class is
designed to figure out what launcher to use after being
created and a project is set, but it is not built for reuse
- change the CommandLauncherWrapper class to reset the launcher
back to null when the project gets set so that any reuse
will be sure to get the correct internal launcher after
resetting the project
Change-Id: I2c0758ca53f7164d4bbd4a6f738acd7c7c042370
When the "Bring console to top when building (if present)" was enabled
(which it is by default as of bug 447703), the console would come to the
top on every line of output, i.e. constantly during a busy build. That
made it impossible to reach other views in the same part, in particular
the Progress view in order to stop the build.
Instead, only bring the console to the top at the start of the build and
when output arrives that is associated with a problem marker (error,
warning, info).
Change-Id: Iabda4858b443c330e9209c27ea3635b0485c7d98
Signed-off-by: Christian Walther <walther@indel.ch>
Hides the C Project and C++ Project wizards in the wizard shortcuts
for the CPerspective. Also removes them from the shortcut list
in the project navigator. Adds the C/C++ wizard that was missing
from the project navigator.
Also makes sure we pass along the call to canFinish from the new
wizards to the old ones.
Change-Id: I0a5505542fcf9d0eb34fb5fef790fd1e777524b5
Reuses the old makeNature. Reuses the StandardBuildConfiguration.
Generates a pretty simple project for now. Also handles the case
where you don't want to generate anything, just create an empty or
on an existing source tree.
Change-Id: I2f3cddc85d55792a2c537e37d4bc236a3073d930
InstantiationContext.setExpandPack() and related methods were introduced
in bug 486971 to ensure that when instantiating a type list that
contains a pack expansion, with a parameter map that maps the template
parameter pack that appears in the expansion to another parameter pack
(which can happen when e.g. instantiating an alias template with
dependent arguments), the pack is expanded in the correct place.
However, bug 486971 only added use of this machinery to CPPTemplates.
instantiateArguments(). We can also instantiate a type list in
instantiateTypes() (used e.g. when instantiating the parameter types
of a function type), so the machinery needs to be used there as well.
Change-Id: Iabb458e8e3166c15ed922656fc0729a4a8cf8bbf
The new Autotools core build executes autoreconf which is a perl
script. We've been assuming up until now they were always
Windows exes or bats. If there's no proper extension, try
finding sh and passing the command to it.
Change-Id: I71ba66d7658db0bdc45608abc356b5efe80669af