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

25585 commits

Author SHA1 Message Date
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
Jonah Graham
2bc9836f68 Bump cdt-baseline sequence number
When the baseline was changed to CDT 9.3, the sequence number was not
changed. That means that Eclipse PDE does not "see" the change to the
content and therefore while it appears that the baseline is 9.3, it will
continue to actually be 9.2, leading to lots of API errors.

Change-Id: Ie4103f24fe28afcadd8722b0da463febe372bdd8
2017-11-08 14:11:39 +00:00
Doug Schaefer
ffdb004e67 Adjust Arduino to new GCCToolChain API and add type and id/name.
Change-Id: Ia089985425c7f1a6fe347c41a6a01e5ab16d8208
2017-11-07 13:57:03 -05:00
Doug Schaefer
b495a5faae Hook up the clang toolchain now split out from GCC.
Change-Id: I6edba9e689d903546be3a65060c4ac1b9871167f
2017-11-07 13:13:12 -05:00
Nathan Ridge
daad877559 Bug 526684 - Use InstantiationContext.setExpandPack() in CPPTemplates.instantiateTypes() if appropriate
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
2017-11-07 12:11:24 -05:00
Doug Schaefer
76e1842644 Implement ordering of toolchains.
Introduce toolchain types independent of providers.

Change-Id: I2cf3145920fcf4e7132468b6e653d7ea3e211127
2017-11-07 11:01:15 -05:00
Marco Syfrig
9a9e80e115 Bug 526724: corrected deduced type for string literals with u8 prefix
Change-Id: Ibc55f6cbd8f425149598b397a4d2fb90b7ed6b8b
Signed-off-by: Marco Syfrig <marco.syfrig@gmail.com>
2017-11-07 04:22:50 +01:00
Doug Schaefer
69404fdf89 CMake - check for build files, clean up some UX.
Starting for Ninja, check for build.ninja file on whether to run
CMake again. Need to do same for makefiles. Change default to run
cmake --build instead of hardcoding ninja or make. Added message
to the end of the build to know when it's done.

Change-Id: Ibbb352ef7c64f6e1fcbe122ef0b73f2c91bb1aa7
2017-11-05 12:14:39 -05:00
Doug Schaefer
45fb622c51 Add the core build gcc ui plugin to the gcc build feature.
Change-Id: I309bf8c785107ad8edd68664d175c7e94a900ea4
2017-11-04 22:31:41 -04:00
Doug Schaefer
87cd8401f4 Hook up the error parser properly in the build configuration.
So we can have the error partitions that work with double clicking
in the build console.

Change-Id: I357f4efb8fd16232b78b18958c9863071feeebcc
2017-11-03 16:48:20 -04:00
Jesper Eskilson
ceeac1865a CDT.setup fixes
* Remove unnecessary version range on bouncycastle
* Replaced
http://download.eclipse.org/eclipse/updates/4.7milestones
with
http://download.eclipse.org/eclipse/updates/4.7
to match cdt.target.

Change-Id: I5b15768d1478666f89d7cbd0ae6c8828674fe6f1
Signed-off-by: Jesper Eskilson <jesper.eskilson@iar.com>
2017-11-02 12:44:59 -04:00
Doug Schaefer
eed39fe4f8 Fix API error in lsp4e.cpp plugin.
Not sure we have the right dependency in the cdt target file but
I get a compile error when I use it.

Change-Id: Ie357ea76da82ac552b6c95662d725fb660434ff6
2017-11-02 11:57:08 -04:00
Jeff Johnston
bd88f34dde Bug 526730 - Autotools should not run autotool commands in the Container
- modify runCommand and runScript methods in AutotoolsNewMakeGenerator
  class to take an ICommandLauncher to use
- modify AutotoolsNewMakeGenerator regenerateMakefile method to
  pass a local CommandLauncher when running autotool commands, but
  using one from the CommandLauncherManager when running configure
  or config.status to do the configuration
- modify RemoteCommandLauncher to add a constructor that includes
  the ICommandLauncher to use if the project is not remote
- fix AbstractAutotoolsHandler to use local CommandLauncher

Change-Id: Ib3f0deff3cca4b7b40459b5dd691d73dcbf2a87c
Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>
2017-11-02 11:20:35 -04:00
Mustafa Yücel
2e0f85e514 Bug 520340: enable CLI to CDT's code formatter
example usage:
eclipse -nosplash -application org.eclipse.cdt.core.CodeFormatter -consoleLog \
        -verbose -config .settings/org.eclipse.cdt.core.prefs src/

imported CodeFormatterApplication from eclipse.jdt.core:
org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/CodeFormatterApplication.java
revision 823698366b88fe7e6c1438813d7dd191ff9aa71f
org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/messages.properties
revision c2646812d22906feca88c2f52911ca7c4eae2299

Change-Id: Id934c8958c66f562bd2402dcbd8b7c60e39cc7a5
Signed-off-by: Mustafa Yücel <mustafa.yuecel@siemens.com>
2017-11-02 07:03:22 -04:00
John Dallaway
ebbe75d37f Bug 361881: Test for undefined reset/delay/halt command
Change-Id: I55c7edf41fa8b1d1cef73254d98e596b04c30b51
Signed-off-by: John Dallaway <john@dallaway.org.uk>
2017-11-01 21:36:21 +00:00
Doug Schaefer
89cb1076e4 Improve when build like autotools is trying to execute a script.
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
2017-11-01 10:42:18 -04:00
Doug Schaefer
3935339cf7 Fix API baseline errors from Command Launcher changes.
Change-Id: Ibc5ba38669832f6baa67ff49ce4fe08ab1f5a14a
2017-10-31 15:57:56 -04:00
Doug Schaefer
bfe7f8f3d7 Fix up MSYS2 autodetect in to use new GCCToolChain API.
Make sure we pass the path to gcc as well as the environment
with the MSYS2/MINGW* path.

Also mark the old API deprecated. Not sure it even works
anymore so we need to move things over.

Change-Id: I1df10a4a77dbdd9027788bc404ae367421673e26
2017-10-31 14:35:42 -04:00
Chin Huat Ang
a974ba9c9e Bug 525591: autotools: Initial core build implementation
Add core, UI and feature plugins for the new autotools project which
uses template wizard and core build.

The template wizard currently supports generating a simple autotools
project as described using a template manifest. 

The project generator sets new autotools nature associated with new
autotools build config provider.

The generated autotools project has been tested to compile fine with gcc
(x86_64-linux-gnu-gcc) toolchain.

Change-Id: I8349999d551bb693725a246340cf46266150fadc
Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
2017-10-30 14:33:06 -04:00