1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00
Commit graph

25613 commits

Author SHA1 Message Date
Nathan Ridge
86c3d8eeca Bug 525739 - Have Open Declaration find potentially-matching definitions for a declaration
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
2017-12-20 16:01:24 -05:00
Nathan Ridge
be77fcf544 Bug 528456 - Store specializations of anonymous classes in the index
Change-Id: I9772df1430c239bd7144fdd5a2512b7a2fd3fca4
2017-12-20 15:09:30 -05:00
Hansruedi Patzen
8618c34e5f Bug 528196: Ignore cv qualifier for UDL operator lookup
Change-Id: If8567c96d8dedfbc4b5ffd7e67db074f1fe48ca2
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-12-14 02:23:34 -05:00
Hansruedi Patzen
89820bf95d Bug 528196: Ignore cv qualifier for UDL operator lookup
Change-Id: If8567c96d8dedfbc4b5ffd7e67db074f1fe48ca2
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-12-14 02:23:22 -05:00
Nathan Ridge
b07df3a4fc Bug 527697 - Attempt deduction with all base classes of an argument type
Previously, we would only try the first base class whose primary
template matched that of the parameter type.

Change-Id: I0511e6a1ba1c7197887ff23bc37b70a2a820eb87
2017-12-14 02:19:59 -05:00
Nathan Ridge
e2c5592d9d Bug 528124 - NPE in CCOdeFormatter.findOverlappingPreprocessorStatement()
Change-Id: I4669d4938551506d7a06624b4318253cc4ecc643
2017-12-11 22:38:42 -05:00
Nathan Ridge
f8b30717ce Bug 528072 - Implement evaluation of __is_trivially_constructible
Change-Id: I331ea5c2f5203a87290d4ef537a8a75dab384c34
2017-12-11 22:36:41 -05:00
Nathan Ridge
ccfad7cf58 Bug 527961 - Add missing GCC builtins __builtin_object_size() and __builtin_ia32_shufpd()
Change-Id: I3ab96a24a8f45f3478dcdc07eef0d60029922ae9
2017-12-02 17:09:29 -05:00
Doug Schaefer
837b1ce541 Fix version of serial launch feature.
Change-Id: I850f72c9b094f732e384596c05ed30485bd2fceb
(cherry picked from commit fdd005c96f)
2017-12-02 01:29:06 -04:00
Doug Schaefer
8ebfd848d7 Fix up license field for serial launch feature.
Change-Id: I26534c7748186428af908111dc712cd0c0d09708
(cherry picked from commit c546572ac9)
2017-12-02 01:05:35 -04:00
Doug Schaefer
6a12755a4e Fixes for ESP32.
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
2017-12-01 16:28:29 -05:00
Doug Schaefer
d6a1c13e5c Cleanup Core Build Preference pages.
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
2017-12-01 14:04:51 -05:00
Doug Schaefer
4eb76a4ede Fix issue with core build launch desc deletion.
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
2017-12-01 12:47:21 -05:00
Nathan Ridge
193cb87bfa Bug 527697 - Size of parameter pack where arguments themselves contain a pack
Change-Id: I850eaf74a3fb3ec4b160aedc3f594ff0d0edf31a
2017-12-01 11:31:09 -05:00
Martin Oberhuber
abf1b13e6b Bug 527959 - Fix argument lists for some builtins
- 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>
2017-12-01 11:27:46 -05:00
Hansruedi Patzen
a4dcbbaf15 Bug 527553: Detect invalid decltype(auto) with a type specifier
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>
2017-11-30 14:56:02 -05:00
Doug Schaefer
89d45ef7fd Bug 515305 - Fix 32-bit serial port dll
It was depending on the libgcc dll. Changed to link it
statically.

Change-Id: Ifd8610c78d3861f3c4cd82fde3bb47f5c3afe594
2017-11-30 11:11:24 -05:00
Doug Schaefer
d0e528d135 Fix manual include/macro settings handling for GCCToolChain.
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
2017-11-29 12:18:12 -05:00
Doug Schaefer
a69ce37879 Info cache files were not getting deleted properly
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
2017-11-28 13:19:16 -05:00
Hansruedi Patzen
7d208e098f Bug 527872: UDL operator name gets duplicated on rewrite
Change-Id: Id1cda5f09f6fc3852a99a607be21f6ea33f5faf5
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-28 15:40:28 +01:00
Doug Schaefer
6db1357b1a Stop launch on error. Fix up set/get make commands.
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
2017-11-27 18:04:40 -05:00
Doug Schaefer
0ed7b10dea Bug 527818 - Clean up handling of missing toolchain file
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
2017-11-27 14:46:06 -05:00
Doug Schaefer
68b441c16d Bug 444054 - Make sure we build the right project
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
2017-11-27 11:02:07 -05:00
Hansruedi Patzen
3319c8596e Bug 527396: Parser includes curly brace when parsing noexcept functions
Change-Id: I0d2626cccf5b093f2f3cc9fbcbeaedbb21ebd508
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-24 13:25:00 -05:00
Hansruedi Patzen
19b4848e08 Bug 527709 - [Checker] Test suite fails on Windows
Change-Id: I70cf18245dc8dba14493f212c932ea08ae85a6cf
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-24 10:44:11 +01:00
Doug Schaefer
93a5fcaa2a Bug 444054 - Always enable the build actions.
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
2017-11-23 14:41:10 -05:00
Doug Schaefer
d9b8eb3fd0 Hook up the old Include Paths and Symbols page to Makefile projs.
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
2017-11-22 16:40:14 -05:00
Nathan Ridge
a20271a780 Bug 526669 - Use the Matcher API correctly in CodanProblemMarkerResolutionGenerator
Change-Id: Ia47cabea736fe2965f60117ae2074b6e2212d917
2017-11-21 14:31:14 -05:00
Doug Schaefer
12e709427d Releng fixes, ensuring legal files are there. Removing projects.
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
2017-11-21 13:10:50 -05:00
Doug Schaefer
087f1b859f Add the Launch over Serial Flash feature to the repo.
Change-Id: I76283cb28ef48f8bc777c91decf1e8289e878a83
2017-11-21 00:19:31 -05:00
Doug Schaefer
682243a727 Undo the fix I did for creating the build container.
It cause more problems than it solved. Will need to revisit later.

Change-Id: Ifbbb2a29c41f24ff08e1debb03ee5f4739d0223b
2017-11-20 22:02:25 -05:00
Doug Schaefer
a90655bc04 Set CC and CXX variables to toolchain compileCommands in std build.
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
2017-11-20 15:55:39 -05:00
Doug Schaefer
dc4be72b1a Fix MSYS2 so that it's provider overrides the path provider.
Also handle case when launchMode is null when creating a build
config.

Change-Id: Ie70de785168c2e24c842d517c64a297ba44e24f4
2017-11-20 13:28:22 -05:00
Jeff Johnston
aedf6d8fa9 Expose org.eclipse.cdt.docker.launch directory as public
- move ContainerCommandLauncher to org.eclipse.cdt.docker
- update DockerLaunchUIPlugin to be noextend
- update users of ContainerCommandLauncher appropriately

Change-Id: I32ea6de3b3df12b6579249583303111bf6b7b957
2017-11-19 00:46:31 -05:00
John Dallaway
a08cc01f56 Bug 527419: Process async output with no variable
Change-Id: I4deb2b9db4421016b27e01353b0ae4745b139361
Signed-off-by: John Dallaway <john@dallaway.org.uk>
2017-11-18 02:26:13 -05:00
Doug Schaefer
a58fc62ba6 Forgot to add the makefile templates to the build.
Change-Id: I538e8610f9e31963a2c8224079de1a2f19c565c3
2017-11-17 11:36:29 -05:00
Doug Schaefer
461f90901c Fix missing recording of launch mode for core build configs.
Was causing new build configs to be created for non "run" mode
configs.

Change-Id: I6b939ac1da9fcf6678bf28b0bbad201fc723b371
2017-11-16 12:12:10 -05:00
Doug Schaefer
589faf51cc Fix up leftover toolchain provider id usage.
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
2017-11-15 16:18:19 -05:00
Nathan Ridge
f2ab40d9f2 Bug 526975 - Deduce return type correctly in the presence of multiple return statements
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
2017-11-15 11:38:40 -05:00
Jonah Graham
2173d1dd52 Bug 500988: better handle race condition in SourceContainer
Instead of an indiscriminate NPE at termination of a launch, handle it
more cleanly with a friendly error message.

Change-Id: Ie37e675c3f5e4883c0b160bfe86c4848f1983fa7
2017-11-15 10:46:38 +00:00
Hansruedi Patzen
b721d6a424 Bug 527179: ExpressionWriter removes nested noexcept expressions
Change-Id: I7c032e9327756704690760f3207c73f1645deb19
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-15 03:29:51 -05:00
Nathan Ridge
1bf0dff19f Bug 526857 - Diagnose member access into pointer type in C code
Change-Id: Ib6fc6be443d59facacde3c290e0f974e5cbe6f1b
2017-11-14 19:47:39 -05:00
Jonah Graham
c9c292982d Bug 519533: Fix scroll lock on build console
Change-Id: Ib7826de6ed26dbd05f2568d097deb52cf3dc4768
2017-11-14 19:04:40 -04:00
Jonah Graham
d4bfa4ac43 Bug 525675: Fix dependency version
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
2017-11-14 22:20:13 +00:00
Jonah Graham
fad069c809 Bug 525675: Delegate opening unknown file types to unknownEditorStrategy
This code enables the Debug view in CDT to take advantage of:
https://www.eclipse.org/eclipse/news/4.6/platform.php#text-editor-selection-strategy

Change-Id: I35e0453ce7ee772aac33ffbce6e66926bbb475e3
2017-11-14 20:57:54 +00:00
Doug Schaefer
15c8bad95d Serial Flash Target and Launch. Clean up Generic Launch.
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
2017-11-13 15:56:57 -05:00
Nathan Ridge
f1f9ddf0f7 Bug 514363 - Fix constexpr evaluation of assignment into array element
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
2017-11-13 13:25:32 -05:00
Nathan Ridge
301de3d40e Bug 522010 - Completion of non-type template parameter in ambiguous template argument
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
2017-11-13 13:22:26 -05:00
Jonah Graham
b090f32e64 Bug 520580: Implement new-console support on Windows
A new checkbox on Windows only that starts inferiors in new window.

Change-Id: If3efbe5e6b037e3b1c9528eed67068088702b0fe
2017-11-13 03:27:30 -05:00
Doug Schaefer
b7b1d41f08 Fixes for scanner info for Makefile projects.
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
2017-11-10 14:49:16 -05:00