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

25730 commits

Author SHA1 Message Date
Jeff Johnston
60affd8b9f Bug 532420 - Make Container Core Build indexing more efficient
- add new ICBuildConfiguration2 to keep API checks happy
- remove refreshScannerInfo method from ICBuildConfiguration and
  put it in ICBuildConfiguration2
- make CBuildConfiguration implement ICBuildConfiguration2
- update ContainerPropertyVolumesModel to use new Docker plug-ins
  using docker-client 8.9.2.
- fix MesonBuildConfiguration to use a job for each compile line being
  processed, then wait until all jobs are done before causing
  an reindex to occur (this will maximize parallelism when building
  in Containers)
- fix ContainerCommandLauncherFactory to save the project so we
  can exclude project directories when copying header files using
  the new Docker Tooling interfaces
- fix CoreBuildLaunchBarTracker to use ICBuildConfiguration2
  interface to make the call to refreshScannerInfo


Change-Id: I2138f5111614e7821e46c22731397a01035eac0a
2018-03-19 21:50:31 -04:00
Jonah Graham
f388f97fff Bug 532592: [tests] fix bitrotten GDBRemoteTracepointsTest
When I fixed the assume on "remote" in commit 4a447ce1a6
I exposed this test as having not been run in a while and it has
bitrotten due to changes in the compiler behaviour and the bad
definition of fastTracepointsSupported. This commit brings the test up
to speed.

Change-Id: I5eee6af4de111d864465851de91889aecf875dfb
2018-03-19 22:35:56 +00:00
Jonah Graham
220e0696ed Bug 532599: [tests] use os allocated port for gdbserver comms
Change-Id: I2843472de14cf767896070fcba8add508a1a9eca
2018-03-19 13:19:17 +00:00
Jonah Graham
4a447ce1a6 Bug 532592: [tests] properly exclude non-remote tests
This includes changing BaseParametrizedTestCase.remote to be a
Boolean so that users of remote before it is initialzed causes
an NPE. For example, GDBRemoteTracepointsTest was never running
because of this logic error.

Change-Id: I3fb46fd67c554af7ec912f175815165533021a1b
2018-03-19 12:13:20 +00:00
Jonah Graham
9394a679c5 [releng] update maven dependency versions
Change-Id: Id55ef378ed1abf4a71f31ef27b08c3b59be05317
2018-03-19 10:36:23 +00:00
Felix Morgner
fbe97a324a Bug 532227: C++17 Missing standard headers in file associations
Add the new header files introduced with C++17

Change-Id: Icb5086ff94cee309010ac0d502fba56ae3f266c5
Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
2018-03-15 00:33:11 -04:00
Felix Morgner
47ceed3cbe Bug 525250: "Create local variable" offered outside of local scopes
When invoked from within 'isApplicable(IMarker)', 'isCodanProblem()' did
not work as expected, since it used a cached value that was only updated
in 'run(IMarker)'. The old API 'isCodanProblem()' has been marked as
deprecated and is replaced by 'isCodanProblem(IMarker)', which works
directly on the marker, instead of using a cached result.

Additionally, two new APIs in 'QuickFixTestCase', called
'calculateQuickFixApplicability()' and
'assertIsApplicableForAllMarkers(boolean)', are introduced. The former
can be used to record the applicability of the QuickFix under test for
every marker in the test code, while the latter provides a way to assert
on the applicability. For finer grained assertions,
'calculateQuickFixApplicability()' returns the calculated map.

Change-Id: I7c53fd26afefa37ff086559acea75a7a33ecd5d7
Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
2018-03-14 09:30:42 +01:00
Jonah Graham
9537e51cf3 Bug 532297: Cache registers per version of GDB
Change-Id: I2da702830f01035b99dc61fcdfb9e7a43fcc8d55
2018-03-11 19:37:30 +00:00
Jonah Graham
b4ac2d3ebf [releng] bump version of gdb to test with to gdb 8.1
Change-Id: I811bc22a02ff84cc638872b21c71345e10d288ab
2018-03-11 19:37:30 +00:00
Sebastian Focke
ebf123102f Bug 282494 - Incorrect colors in Show Macro expansion dialog in case of
dark color scheme

Setting the Macro expansion highlight to the "Find Scope" color. The
color can not occur by other means in the dialog and provides good
contrast to background and foreground colors.

Change-Id: If2182cff20f3612cff80c7fe2b250d039d45f172
Signed-off-by: Sebastian Focke<sfocke_eclipse@web.de>
2018-03-11 12:15:41 -04:00
Jonah Graham
a8af87b6ba Bug 532209: Run extensions in SafeRunners
Change-Id: Icf748b9769c7a454cf3bc4b4a27fff896ce38086
2018-03-11 12:13:39 -04:00
Jonah Graham
a5203143e9 [releng] Add version constraints on linuxtools due to API change
This really should have been part of I68d4f93de3a0e6141c7a37a34f9e8fdb2313fbd8

Change-Id: I1b7671fbd12dd973139e72f053e3b3d5117f3b44
2018-03-10 00:34:24 +00:00
Jonah Graham
ec533341b6 [releng] Update CDT in preparation for Photon M6
The most significant change for CDT is the upgrade of
com.spotify.docker.client which has knock on effects
due to the API changes.

Includes:
- Updating target platform
- removing Neon and Oxygen as potential target platforms
in OOMPH setup
- Updating CDT standalone debugger
- Changes in API for docker changes

Change-Id: I68d4f93de3a0e6141c7a37a34f9e8fdb2313fbd8
2018-03-09 23:28:52 +00:00
Alexander Kurtakov
84d6fdefaa Sonar fixes in Meson plugins.
Change-Id: I27a75d6dac41ae820d6af0b7c30922eb5bac58f7
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-09 10:40:53 +02:00
Alexander Kurtakov
c158b0bdd2 Use lamdbas.
Change-Id: Iece00d9c1af64bb0218a41519e995d33d8edee31
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-09 03:23:00 -05:00
Jonah Graham
88d52ef089 [releng] correct version number in OOMPH baseline setup
Change-Id: I9dcbcea58fdc7e3a1459a3802676fdd1309ba107
2018-03-08 22:33:49 +00:00
Jeff Johnston
d468345bc3 Add Meson docs plug-in
Change-Id: I9153edd6f2708de475855ca3dbdb6323432e37ac
2018-03-07 12:15:56 -05:00
Chin Huat Ang
13b1894c4c Bug 531991 - Fix command launcher manager priority comparison
When iterating through a list of command launcher factory to select the
highest priority factory, be sure to compare using the last known
highest priority.


Change-Id: I473ac9c8ff7cfb5a0aa81714101a795816fd1ac8
Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
2018-03-07 23:50:43 +08:00
Jeff Johnston
82b0f6ab28 Bug 531985 - Support Container build with new Core Build
- add support for Container build to Meson
- add fixes to MesonBuildConfiguration clean build to use sh -c
  like normal meson build
- add new refreshScannerInfo method to MesonBuildConfiguration to
  re-process the commands json file so indexing will correctly
  switch from local to Container build and vice-versa
- add MESON_PROJECT_ARGUMENTS to IMesonConstants
- in MesonBuildConfigurationProvider getCBuildConfiguration
  method, remove checks for toolChainfile and for Container
  build, name the configuration based on the image name

Change-Id: Ia8a85c05e0cb9d46d2987ed4d39fcee914302467
2018-03-06 14:48:48 -05:00
Jeff Johnston
c9822e117e Bug 531985 - Support Container build with new Core Build
- add new ContainerTargetTypeProvider to create a new target
  for each usable Docker image from known connections
- add new ContainerGCCToolChain class which supports gcc in a
  Container for projects with Container targets
- add new ContainerGCCToolChainProvider which creates a
  ContainerGCCToolChain for each usable Docker image from
  known connections
- add new CoreBuildContainerLaunchConfigProvider class
- add new CoreBuildContainerLaunchDescriptorType class
- add new ContainerTargetLabelProvider class to support adding
  a new Container target
- add new NewContainerTargetWizard and NewContainerTargetWizardPage
  to add/edit a new Container target
- add new IContainerLaunchTarget class
- add new refreshScannerInfo method to ICBuildConfiguration interface
  to allow switching ScannerInfo when target is switched
- implement default refreshScannerInfo method in CBuildConfiguration
  which currently does nothing
- add new fetchContainerDirs method to CommandLauncherManager to
  fetch container directories for a project that is using
  Core Model and CBuildConfigurations
- add new verifyIncludePaths method to ICommandLauncherFactory2 that
  takes an ICBuildConfiguration and implement this for
  ContainerCommandLauncherFactory
- fix ContainerCommandLauncher command handling to use a list
  of Strings to preserve spaces in arguments and call new
  runCommand interface in Docker UI...as well do not link
  any args that are files if they are system directories (e.g.
  /usr /bin)
- fix getCommandLauncher in ContainerCommandLauncherFactory when
  passing an ICBuildConfiguration so that it uses the configuration's
  toolchain properties to figure out if a Container build is asked for
- fix launch method of ContainerLaunchConfigurationDelegate to check
  if working directory is null in which case use the project directory
- also add buildForLaunch method override and preLaunchCheck to
  ContainerLaunchConfigurationDelegate so it can be used for
  Core Build launching as well and ensure that the project name
  and active configuration is set properly
- in CoreBuildLaunchBarTracker, use the lastTarget to set the
  active target instead of the local field "target" as this will
  end up setting a random target as the active target.  Also
  call the new refreshScannerInfo method of the build configuration
  when the active target has changed
- add ICBuildConfiguration support to Docker LaunchShortcut such
  that properties will be set appropriately and acquired from the
  toolChain
- bump up Docker launcher version to 1.2.0

Change-Id: I074b02314f6ac6942fdf230b1dc8e154ced3088e
2018-03-06 14:48:01 -05:00
Doug Schaefer
c781ba5c36 Remove wait on stop in BinaryRunner. It causes deadlock.
If we have issues with the runner while the job is trying to cancel,
we sould be address it there.

Change-Id: I2c42d654f4d08a7499c97c52fe14d76e24aa3dd6
2018-03-06 10:48:38 -05:00
Jonah Graham
8934f52ae6 Bug 532035: Enable synchronizer to resynchronize/flushCaches
Change-Id: Ib1ebbe5a1b87e9402d961383fcf15dae865ac0c5
2018-03-05 20:06:22 +00:00
Jonah Graham
377374febb Bug 532035: Be explicit in iterating over IBreakpointsTargetDMContext
Change-Id: I802ad946347c01d466f5011883ad644b8f31aca1
2018-03-05 20:06:22 +00:00
Nathan Ridge
107bfee755 Bug 403153 - C structure whose first declaration is inside a structure
C does not have a notion of structure scope, so the declared structure
has file scope in spite of being declared inside a structure.

Change-Id: I39b9dfe36c7da19b70e79e0a1cd822d91832dcd8
2018-03-05 11:55:52 -05:00
cartu38 opendev
bcc81b20c1 Bug 531915: Abstract page is now able to deal with fragment icon(s)
Change-Id: I99bd52fcbc6e984e10914fc323f7af5768d7f7f2
Signed-off-by: cartu38 opendev <cartu38.opendev@gmail.com>
2018-03-02 12:01:16 +01:00
Jonah Graham
a819504873 Bug 530377: Fix corrupt bp state & add test for fast bp events.
This generally required adding RequestMonitors everywhere possible
and then holding up processing future bp events until previous
ones were finished.

Change-Id: Icc641071249f7f8c619f0592e07772e47645c9db
2018-03-02 08:22:41 +00:00
Doug Schaefer
071f118e27 Yet another deadlock in old ICDescriptor code.
Hitting this in our internal verify jobs. This invoke method locks
the element then calls removeProjectStorage which waits on fLock.
Meanwhile someone else has called getProjectData has the lock and
then tries to lock an element. Deadlock.

Change-Id: I5d013e8aa3c16e8c832fbe30b2dd3c17aeeefee5
2018-03-01 16:17:10 -05:00
Doug Schaefer
10c5897080 Remove extra colon in CMake build output.
Change-Id: I624d7e7079a3c1473fb591e24af1f7dcdd6617dd
2018-03-01 15:25:24 -05:00
Alexander Kurtakov
33291e5989 Move to wikitext 3.0.23.
Change-Id: Iaf8a7698106bf38578907f4fdab27f0cc20a0763
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-26 23:29:16 +02:00
Nathan Ridge
bdc212ec05 Bug 531172 - Avoid ClassCastException in CPPSemantics.declaredBefore()
Change-Id: Iddda8bab86e9567b8e0c877562b48defb187656f
2018-02-25 01:13:48 -05:00
Nathan Ridge
af73a4ed1a Bug 531475 - Push a lookup point when precomputing variable types and initial values in PDOMWriter.resolveNames()
Change-Id: Ia9d0c51a963f70d9a8b0ffcd3fa6b6c508f1d1dc
2018-02-24 02:02:33 -05:00
Nathan Ridge
3ff810915a Bug 531322 - Overloading between initializer-list and non-initializer-list constructors during list-initializations
Change-Id: I6884ce16bc0f14893f074eef27015b3654aedba5
2018-02-22 18:52:02 -05:00
Alexander Kurtakov
61442cf3be Bug 530000 - Add Meson Build support
Editors for meson.build, meson_options.txt and *.ninja files. Just
highlighting for now based on textmate grammars.
Added tm4e to target to enable resolving tm4e bundles.

Change-Id: I22859b2d39a96dcd777ee96d2a5e7465e4884839
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-21 04:46:04 -05:00
Nathan Ridge
28b36d1e3e Bug 531076 - NPE in CSearchQuery.createMatchesFromNames()
Change-Id: I6614b6557c1a9152e1d8b336d1fcfdf359201fb7
2018-02-20 01:08:11 -05:00
Jeff Johnston
dcfc276062 Bug 530000 - Add Meson Build support
- use sh -c to invoke meson and ninja commands so that
  the default environment including PATH is set up
- don't bother trying to find the commands locally and
  don't bother trying to find local environment (only
  use env options from property page or run ninja command)
- add a check after running meson to ensure that
  ninja.build file gets created, otherwise issue error
  message and stop build
- fix comments for RunNinjaPage
- add future Container support by allowing a special
  target OS when checking for isLocal build

Change-Id: Ie8d736c0909b44fe8db14265afbc8b05262b51f3
2018-02-19 20:37:43 -05:00
Jeff Johnston
70151ce491 Bug 531360 - Run ninja menu item is showing up in Docker views
- fix visibleWhen attribute of menuContribution
- also fix some warnings due to command not being set up
  properly

Change-Id: I8b5239b1edcd5da20201e71d23dce3bfb18c6d0c
2018-02-19 19:39:47 -05:00
Jeff Johnston
7292fbff6d Bug 529910 - Debugging C/C++ container apps remotely is not working
- fix ContainerLaunchConfigurationDelegate to look at whether the
  daemon is running remotely or locally
- if running remotely, try to connect to gdbserver by using the
  Container ip address and the gdbserver port directly
  (will not work on Windows, but fixes Linux scenario)

Change-Id: I9a6188d90187e2ca6ab73c8042a02b6ff29d5f2f
2018-02-16 11:43:29 -05:00
William Riley
5728fec0cf Bug 531258 - Provide name for org.eclipse.cdt.core.cBuilder
Using "CDT Core Builder" to avoid confusion with "CDT Builder" used by
managed build.

Change-Id: Ib2556be4e53caf505fff3a697757a0979fbf08bc
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-16 10:17:09 -05:00
Karsten Thoms
dfb713b5c8 Bug 351718 - Avoid NPE when no default setting available
Change-Id: I2950bdcc30672fe3fa8e80b49f9bdeed17db5cdf
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
2018-02-16 12:14:56 +01:00
Doug Schaefer
45966dd76d Fix up handling of esp32 on Windows.
Need to convert paths from MSYS style to proper Windows
native.

Change-Id: I8c459274a1eb33af026c1ae383db67c8cbcdc29f
(cherry picked from commit fea65eeb15)
2018-02-15 10:46:01 -05:00
Jonah Graham
96d2bc0738 [releng] Add missing plugin.properties
Change-Id: Ifd1ec18a0eeea859120f1193273eef361ba93a0f
2018-02-15 07:31:25 -05:00
Hansruedi Patzen
29a51f0a61 Bug 531098: [C++17] Add support for switch with initializer
Change-Id: I046acd311cb99215798d2cbb8d30c2ef8ff2301d
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-02-15 00:24:06 -05:00
Jeff Johnston
e31e23bb4e Apply CMake changes from Bug 530673 to Meson
- Fix issue with Meson and changing toolchains since
  Meson is based on CMake plug-ins
- Cleaned up add and remove of toolchain files and handling of when
  a toolchain changes for a config

Change-Id: I147a30454c69e3d8d86fc50c561a1667ddfb5df3
2018-02-14 13:09:18 -05:00
Jeff Johnston
3405063203 Bug 531125 - Tupled gcc toolchains should not be the local default
- change ToolChainManager so that when creating the types map for
  the first time, make it a LinkedHashMap instead of HashMap so
  order of input is preserved (first in = first out)
- fix GCCPathToolChainProvider so that it adds non-tupled gcc
  to the ToolChainManger before adding any tupled version

Change-Id: I84602a98dd4949a2f9847d4e72c428cdedd60688
2018-02-14 12:23:03 -05:00
Doug Schaefer
ca09189575 Bug 531121 - Fix up/down buttons in toolchains preference
The content provider was overriding the change all the time.

Change-Id: I6d406dd6dc903cd890bfc7f7788d76e4388ff905
(cherry picked from commit d4b3472cc9)
2018-02-14 11:01:42 -05:00
William Riley
fdd018365c Bug 531131 - Consider superclass value to avoid unnecessary changes
Consider the superclass value when setting pre & post build steps, error
parsers, tool commands & tool command line patterns to avoid changing
the .cproject file unnecessary

Change-Id: Ida323982fe5bce7b0dd9b70eb23a6ee778be5403
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-14 09:18:08 +00:00
Hansruedi Patzen
a51f7c0659 Bug 522216, 527427: [C++17] Support for constexpr if and init-statements
Change-Id: Ia8195c66334edb107848901619e85fbfb5c78b18
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-02-13 17:50:48 -05:00
Jeff Johnston
cb5c699871 Bug 531071 - CBuildConfiguration doesn't handle quoted arguments
- fix CBuildConfiguration processLine() to call new stripArgs()
  method to parse the command arguments into separate argument
  strings and recognize quotes

Change-Id: I759fb94600b82a55bf5e7f179e01e1f976ce193f
2018-02-13 16:16:15 -05:00
William Riley
689ad9f6ec Bug 531043 - Display errors/warning count for makefile & cmake builds
Change-Id: I8b2ab525af137ddd890f5713a3278cce6d17bffd
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-13 16:42:33 +00:00
William Riley
9a4853aa2d Bug 531106 - Modify MBS option serialize to handle empty string lists
Store a flag to indicate if an empty or null list. Existing projects
without flag will be considered as non-empty when loaded to maintain
existing behaviour for them.

Change-Id: I745c887eb2888910c6e76d5bc057d592a3d8fb3a
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-13 14:13:37 +00:00