1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

26153 commits

Author SHA1 Message Date
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
Doug Schaefer
45019ea780 Add settings to Makefile build configs to build at project root.
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
2017-11-09 20:35:17 -05:00
Jonah Graham
18f76e8313 Bug 527090: fix bad whitespace on windows
Change-Id: Iba9d1ff94cc1ffa2bc53944256b4562a50f10c5a
2017-11-09 16:35:33 -05:00
Jonah Graham
8e23a6b23a Update Oomph's setup's API baseline to 9.3
Change-Id: Ie711add7a26120d335384e7430d5e38e973b19bf
2017-11-09 15:34:14 -05:00
Jonah Graham
5fd3ddb84d Bug 522367: prevent hang of -target-attach on Ubuntu 16.04 / GDB 7.11
-target-attach on Ubuntu 16.04 / GDB 7.11 does not flush its error
response, leaving CDT hanging in final launch sequence. Sending
a newline to GDB after the target-attach causes GDB to flush the
buffer so CDT sees the error.

Change-Id: I8816ac6c88eeaffc6d243ebdae9eb347cfdc5cf0
2017-11-09 13:40:14 -05:00
Jeff Johnston
5f1962e068 Bug 527019 - Build not running in Container for Managed Make project
- 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
2017-11-09 11:46:28 -05:00
Christian Walther
bacbb7b3c7 Bug 378302 - Only bring build console to top on problem output.
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>
2017-11-09 08:48:21 -05:00
Jesper Eskilson
0c11499211 Bug 242705: Fix misaligned breakpoint icon
This commit fixes the "misalignment" of the breakpoint icon by replacing
it with the same icon as JDT uses.

Change-Id: I5a205a095dd37f61774adbf0fc61378ad29fe2bf
Signed-off-by: Jesper Eskilson <jesper.eskilson@iar.com>
2017-11-09 08:42:05 -05:00
Doug Schaefer
7a9163ba6c Bug 512550 - Hide C and C++ Project Wizards and fix canFinish().
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
2017-11-08 16:18:18 -05:00
Jonah Graham
d98733e23d Bug 520340: Fix @since versions
Change-Id: Ifced09a4376952c8eb2e90d68e8bb35f87b003ef
2017-11-08 14:42:52 -05:00
Doug Schaefer
4ce1f1ca16 Add Makefile Projects to collection of core build project types.
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
2017-11-08 14:11:31 -05:00