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

13951 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
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
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
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
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
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
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
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
Nathan Ridge
28b36d1e3e Bug 531076 - NPE in CSearchQuery.createMatchesFromNames()
Change-Id: I6614b6557c1a9152e1d8b336d1fcfdf359201fb7
2018-02-20 01:08:11 -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
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
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
Jonah Graham
3afc828ae0 [releng] Bump version to 9.5.0
Change-Id: Ie342f02f7aae633f41a7ab7d39c21e056793a04a
2018-02-13 11:25:08 +00:00
William Riley
bfe664e228 Bug 531043 - Add missing since tags to new API in EPM
Change-Id: I14c270de6e4d9322b076a97236fceeb6f4dc2f92
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-13 09:34:41 +00:00
Nathan Ridge
9c8d5c4c4c Bug 530762 - Add missing evaluation types to CPPCompositesFactory.getCompositeEvaluation()
Change-Id: I9d0750d6b3d96976309567f99a03b5dc47f0a6b7
2018-02-12 21:30:48 -05:00
Nathan Ridge
0641833d88 Bug 530729 - Accept C++11 attribute specifier before parameter declaration
Change-Id: I425d1b351c10976392ecdf1e4b33f486938e0a04
2018-02-12 21:27:44 -05:00
William Riley
9e8c775f15 Bug 531043 - Display number of errors/warning as end of build
Changes to ErrorParserManager & implementation of message for legacy
build system.

Change-Id: Iffc34eeae87bbd2810684fc52a9d9bcd4bb47950
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-12 15:25:29 -05:00
Jonah Graham
2c82259f95 Fix newlines.
Change-Id: I78acc1c843d58a5e1f69db6ea68a6c6dda34198b
2018-02-12 12:31:31 -05:00
Nathan Ridge
964e738381 Bug 519091 - Do not bypass the caching mechanism for class member specializations
Direct calls to CPPTemplates.createSpecialization() bypass the caching
mechanism, resulting in the violation of invariants such as every
binding being represented by a unique (AST-derived) binding object.

ICPPClassSpecialization.specializeMember() should be used instead.

Change-Id: I10ddb06d087d97cf05c6bed0d9f14a15440b87fe
2018-02-10 15:41:14 -05:00
Nathan Ridge
d50aec4c2a Bug 530692 - Avoid EvalFunctionCall storing the evaluation for the implicit 'this' twice
EvalFunctionCall.fImplicitThis is sometimes redundant in that the
owner evaluation is already stored by one of the arguments. In
such cases, storing the owner separately in fImplicitThis can lead
to exponential complexity in chained method calls.

We resolve the duplication by computing the implicit this from the
function name evaluation instead of storing it where possible.

This was already implemented for cases where the function name
evaluation is an EvalMemberAccess in commit 659ff8c4a7. This
commit extends the approach to cases where the function name
evaluation is an EvalID.

Change-Id: Ic71e81b4692c51ffb8e15b3da9fc2dff1a554f05
2018-02-09 11:14:38 -05:00
Alexander Kurtakov
832f8d3d9d Add missing annotations.
Change-Id: I62df355cd6b85a9cbedd467def188eed2f4222e1
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-09 09:23:17 +02:00
Alexander Kurtakov
db1cd491d6 Remove useless imports.
Change-Id: Ie59d3942ea1df97440bd84e46a24753ed6ed429b
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 21:17:09 +02:00
Alexander Kurtakov
12681f7807 Remove unnecessary suppress warnings.
Change-Id: I1c3de215d9c4f488309f53eaa4a90a32210994be
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 13:03:22 -05:00
Mat Booth
b50ba14831 Bug 530620 - Hook build of native serial port driver into maven build
In the same vein as commit dff6b3bae3, this commit adds profiles
to trigger the build of the serial port component for the current
architecture, only when the profile is activated.

The serial port makefile is also improved to support building for
ppc64 and ppc64le architectures and to honour CFLAGS and LDFLAGS
that might be set in the environment, such as during RPM build.

I also hooked in the makefile "clean" targets so that invoking
"mvn clean verify" will do the right thing.

This simplifies the build for downstreams building from source
significantly.

Change-Id: Ie8cea95d953b256a1f62b77c76370ed7b3d81cee
Signed-off-by: Mat Booth <mat.booth@redhat.com>
2018-02-08 11:41:27 -05:00
Jeff Johnston
e8f619c344 Bug 529121 - "Build target" has stopped working in CDT 9.4.0
- default environment using EnvironmentReader in
  CommandLauncherWrapper class in CommandLauncherManager
  if no environment set for wrapper to match behaviour
  of CommandLauncher

Change-Id: I71ff37b3d8f2049dc705e97bf28f939ac78bd390
2018-02-02 17:05:30 -05:00
Jeff Johnston
1ae547908b Fix some API issues caused by some recent CommandLauncher additions
- remove new exposed field from CommandLauncherManager and
  add correct @since tags
- create new ICommandLauncherFactory2 interface so that no
  additions are made to ICommandLauncherFactory
- add @since tag for ICBuildCommandLauncher interface
- make ContainerCommandLauncherFactory implement the new
  ICommandLauncherFactory2 as well as ICommandLauncherFactory

Change-Id: I7bbacb59e284b43e6d142accf59b6ab9df274438
2018-02-02 14:41:18 -05:00
Nathan Ridge
f6b60ed850 Bug 530430 - Proper handling of class initially declared as a friend
When a subsequent regular (non-friend) declaration of such a class
is indexed, the index binding needs to be marked as being fully
visible to name lookup.

Change-Id: I1a625f93eda1af257a9af50b5c4f115fc9bf6526
2018-01-31 13:09:31 -05:00
Jeff Johnston
55fb64151b Bug 530468 - Support passing CBuildConfiguration to Cmd Launcher Factory
- add new ICBuildCommandLauncher interface
- add new defaulted method to ICommandLauncherFactory interface
- add code to look at Build Configuration properties in
  ContainerCommandLauncherFactory
- add new methods to CommandLauncherManager and
  ContainerCommandLauncher
- add an update dialog call in ContainerTab
- add calls to set and get CBuildConfiguration to
  ContainerCommandLauncher

Change-Id: If95fafe592c7ea4580bae1a15d168d1163e132fd
2018-01-29 16:14:18 -05:00
Nathan Ridge
1d9e549ae7 Bug 530086 - Instantiation of template argument where substituted argument is a pack expansion
The first patch for bug 527697 made us not instantiate such an
argument, because determinePackSize() would return PACK_SIZE_DEFER.

The motivation for that fix was to avoid sizeof...(T) prematurely
instantiating to a concrete value in cases where T was mapped to
a pack expansion.

This patch reverts the change to determinePackSize() and applies a
different fix for the sizeof...(T), specific to EvalUnaryTypeId.

Change-Id: Idc231aeecb5d50e93dda364c6d2deb08057cc8b6
2018-01-28 18:37:12 -05:00
Nathan Ridge
5f9964098c Bug 530086 - Consider pack expansions when matching non-type arguments to parameters during instantiation
Alias templates can be instantiated with dependent arguments.

Change-Id: I123ee574ed2eecb09b551360a0bbc966893d9e34
2018-01-28 03:37:03 -05:00
Jonah Graham
b15619d4b1 Bug 530374: Update API Baseline post 9.4 release
Change-Id: Iafc6f8f754475ca77e3d22b848f3a801b2e80edc
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
2018-01-26 13:29:58 +00:00
Nathan Ridge
f413c21d03 Bug 490359 - Add support for C++17 nested namespace definitions
Change-Id: I5f2550e607195335475427f6fced63bf97eaa718
2018-01-25 17:32:58 -05:00
Nathan Ridge
69c84d4f05 Bug 529958 - Semantic highlighting of variable passed by non-const reference in a dependent call
Change-Id: I421bf98cbeff052c39716f1381e9f8930626318b
2018-01-25 17:02:52 -05:00
Nathan Ridge
a4599f7c36 Bug 529696 - Propagate the template-id strategy into names contained within a type template argument
This avoids expontential complexity when type template arguments inside
an ambiguous name specifier themselves contain ambiguous name specifiers.

The patch also enhances TemplateIdStrategy to allow marking and backing
up to a branch point, and uses this ability in templateArgument().

Change-Id: Ia03e9cd0bc026b02b85edc05ed327cce883d6a59
2018-01-18 12:41:47 -05:00
Nathan Ridge
88da6c08bb Bug 529646 - Avoid computing the value of static fields for every object of a class type
Change-Id: Ic07a1fe5c84b67ed4a9be5e2d50beb9d5c1a54af
2018-01-17 13:21:19 -05:00
Jeff Johnston
d822d7ce16 Bug 529799 - problem with entries tree in LanguageSettingsEntriesTab
- fix provided by Christian Walther
- fix createTreeForEntries() method to use addTreeListener() instead
  of addPaintListener() to handle resizing
- in TreeListener, define treeExpanded method which uses pack method
  for entries column

Change-Id: I28db2059d3e0561ce9e5e52f569409de9aff9a6d
2018-01-16 16:17:52 -05:00
Nathan Ridge
2b7188c9a5 Bug 529337 - NPE in PDOMCPPLinkage.onCreateNameHelper()
Change-Id: I4fc9ce82b0960dfc0a69044f9c2b3d1edb3d4622
2018-01-10 00:04:19 -05:00
Simeon Andreev
92bc379917 Bug 529023 - Cannot set build.proj.ref.configs.enabled via customization
The setting build.proj.ref.configs.enabled=true ensures CDT projects are
not rebuilt if non-related projects are changed. This setting cannot be
changed with product or command line customization, hindering products
which require this behavior.

The reason for this is that ACBuilder, which is asked for the value of
the preference, communicates with the instance scope of preferences.
Product and command line customization, however, are on default scope
level.

With this change, ACBuilder will also ask the default scope when
retrieving the value of the preference.

Change-Id: I09e895ea2a05b677e36fac9eb28f24f1f3bc2877
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
2018-01-08 10:55:37 -05:00