1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-25 09:55:29 +02:00
Commit graph

13653 commits

Author SHA1 Message Date
Jeff Johnston
8f7a33a46f Bug 540085 - Deadlock in ToolChainManager init
- modify ContainerGCCToolChainProvider.init so that the
  CBuildConfigurationManager.recheckConfigs() call is done
  within a separate job so the init() call will return
  without causing deadlock
- do the same for ContainerTargetTypeProvider
- modify CBuildConfigurationManager initProviders() method to
  be synchronized

Change-Id: I4ca9371fb340887233872b6d315621a24450fb2b
(cherry picked from commit c9eee479b4)
2018-10-12 14:57:25 -05:00
Jonah Graham
4cc64de4ef [releng] Bump version to 9.5.5
Change-Id: If7e193a2366a37387f76d4d10812b2e1045b3f67
2018-10-11 07:17:34 +01:00
Hansruedi Patzen
2c268dd058 Bug 512822: "Launch failed. Binary not found" even after building
Builds upon https://git.eclipse.org/r/#/c/92129/ but also uses the hints
to only read the file if necessary. I further reverted some of
the changes done with the patch for 'Bug 510987 - Properly support PIE
executables as build output' since the binary will now be seen as an
executable anyway.

Change-Id: I075fef67f3b101ddbc64786dcbc2ca41cc114e25
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-10-04 17:48:56 +02:00
Nathan Ridge
e290cedc4d Bug 539535 - Refactor CPPSemantics.findOverloadedOperator() so that if something goes wrong during one of the member or non-member lookups, the other is still performed
Change-Id: I34c1321a0aa943ee82d1e6c45cf33d97e2f5b5ca
2018-10-03 15:21:01 -04:00
Nathan Ridge
d3b1d7652d Bug 539535 - Originate an accurate lookup point in CPPASTFieldReference.createEvaluation()
Change-Id: I8030d5b304a61d7235a8ca92cf99de2d9a9aff68
2018-10-03 15:20:55 -04:00
Nathan Ridge
87f1208c77 Bug 539052 - Add support for __is_constructible type trait intrinsic
Backport to the 9.5 branch, including adding an API filter to allow
adding a new keyword and token type.

Change-Id: I9789268dee320ab95aee60c30d8e1867bd0dda53
2018-09-21 11:04:37 -04:00
Jonah Graham
de428d3703 [releng] Bump version to 9.5.4
Change-Id: I683c4938c6c8e7342cb5769c55816e4e38f14835
2018-09-16 09:20:00 +01:00
Jeff Johnston
9a1aa302a7 Bug 536884 - Removing header cache should cause ScannerInfo refresh
- don't reset setting in shutdown() method as this clears the
  property prematurely for meson and cmake projects

Change-Id: I2dd2467427d00aeade335319ec2ceec9f6d7168d
2018-09-11 17:55:00 -04:00
Nathan Ridge
95133b4b3f Bug 537534 - Support binary expressions with an initializer-list as the second operand in CPPASTBinaryExpressions.acceptWithoutRecursion()
Change-Id: Ifb37df94c9b33f7eeeca4ab041d8f0608377b8cd
2018-08-25 23:13:10 -04:00
Nathan Ridge
8c3ed4c8a3 Bug 536805 - NPE in CPPEvaluation.maybeApplyConversion()
Change-Id: I42e780f90aacf9383b722a8b82e441d4032d14e7
2018-08-25 23:13:00 -04:00
Nathan Ridge
f4178eb1f8 Bug 535548 - Infinite recursion loading function whose return type refers to a parameter from the index
Change-Id: Ibff680983cc8ac0bd9d33d8f2247a9f0ca2fe2f3
2018-08-25 23:12:49 -04:00
Nathan Ridge
fae039b629 Bug 535559 - Index search for entity inside toplevel anonymous namespace
Change-Id: I9fdc268819b2298d0b3aeb9db9c29f1a0158d2bb
2018-08-25 23:12:36 -04:00
Hansruedi Patzen
e0e6a54caf Bug 537924: Unable to build javadoc maven target
Turns off doclint for Java 1.8 and greater because the javadocs are
incomplete and won't build otherwise.

Some files also had encoding issues with some characters which caused
the javadoc build to fail, these characters have been replaced.

Change-Id: I04690644bec6d7c3219cb0438cb3db6593fefd3a
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-08-14 19:12:48 +01:00
Jonah Graham
35a590e00b [releng] Bump version to 9.5.3
Change-Id: Ie8180cd33d2a9831e8be10519ef40efd9110b56b
2018-07-23 20:38:33 +01:00
Jeff Johnston
5f449f8a4c Bug 536884 - Removing header cache should cause ScannerInfo refresh
- add a new IToolChain property "cdt.needScannerRefresh" that is
  set if scanner info needs to be refreshed
- for a Container build, turn the property on in ContainerGCCToolChain
  startBuildProcess() if the Container headers for the toolchain's
  have been deleted
- in CBuildConfiguration processLine(), look for the toolchain
  property when looking to see if scannerinfo should be calculated
- in CBuildConfiguration, turn the toolchain property off in
  shutdown()

Change-Id: I67a3537d1e2967dc15b66a1c37abda1ae8f78bff
2018-07-12 14:39:14 -04:00
Jonah Graham
ea35968c11 [releng] Bump version to 9.5.2
Change-Id: I0fb0c7ecc2e59cda3e0bb7efb98fd2a72c5aca80
2018-07-06 14:19:08 +01:00
Doug Schaefer
a1ed9cdb39 Bug 536396 - Handle corrupt scanner info cache files
We were not handling JSON parse errors when loading the scanner info
cache files which causes havoc at index time.

Change-Id: I3a4ee6424134fe756543e4429e9e97b911cda99e
2018-07-04 10:49:47 -04:00
Jonah Graham
ce52b242c0 [releng] Bump version to 9.5.1
Change-Id: I059636ef27e3bec7e49cc7d6f37f70d8d9c245ec
2018-06-27 11:56:51 +01:00
Nathan Ridge
025742ca91 Bug 531701 - ClassCastException in
AttributeWriter.writeGCCAttributeSpecifier()

* Added test to reproduce initial issue.

Change-Id: I72e60fb2244b7d40492bfcdeaa58a8707c39e277
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
(cherry picked from commit 4e4e010e33)
2018-06-11 08:56:06 -05:00
Hansruedi Patzen
5c5ce995f6 Bug 534813 - ASTWriter swaps noexcept and pure virtual specifier
Fix and test

Change-Id: I14088e69aed829940fb1e9f5197dedf18d9bb7a5
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-03 04:43:08 -04:00
Hansruedi Patzen
7b53e75fb2 Bug532849 Inline namespace not recognized by formatter
Change-Id: Ie7f13884967685fcc93c8af3955d90825d6f9879
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-03 04:40:58 -04:00
Hansruedi Patzen
278979870c Bug 534808 - static_assert without message not recognized (C++17)
Fix and test

Change-Id: I785ecfd0715f1fa8ff86b87bd01d16ac6d5d5da2
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-01 16:22:37 +02:00
Hansruedi Patzen
f65fa5b7c5 Bug 535196: [C++17] Support *this in lambda capture
Implementation and tests.

Change-Id: If32911514eb62078215b5f06be12289fa571e9a3
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-05-29 08:24:51 +02:00
Jonah Graham
ab02462cdc Bug 519391: Only redraw the changed lines
When a line is double-clicked, or the highlight error is otherwise
changed, the redrawing of the highlighting was done by redrawing
the entire build console document. This was slow on very large
documents. Instead only redraw the line losing the highlight (if
any) and the line gaining the highlight.

In addition, as we only change the foreground colour to highlight,
avoid redrawing the background.

Change-Id: I5e652449715a588cb8702e0100a472d1f566e2a8
2018-05-28 19:49:29 -04:00
Jonah Graham
d462ce74ff Bug 519391: avoid iterating and copying large lists
The BuildConsolePartitioner used to compute partitions from offsets
by iterating over the list of partitions. This strategy is fine
for small build outputs. But outputs in the 100,000+ line range
can have huge number of partitions. This commit updates the logic
to take advantage of the fact that the partitions are sorted
and contiguous to do binary searches to find the partition, and
uses a new method (computePartitioningAsList) to use a view onto
the original partitions list instead of significant copying.

Change-Id: I4395df36431a6ae45e6b77d6f76fd29532347ac5
2018-05-28 19:49:16 -04:00
Hansruedi Patzen
957dae8f4e Bug 413527: [C++14] Support Lambda init-captures
This patch adds parsing and semantic support for lambda init-captures.

Change-Id: Ia5f39ea6f8780ecd6a9685f432bcbdf39e09c82a
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-05-28 18:30:30 -04:00
Jonah Graham
74c80478d9 Bug 534332: Mark long deprecated interfaces as noimplement/noextend
Change in super-hierarchy caused API breakage. As these interfaces
have long since been deprecated, rather than adding default methods
for them, simply mark them as noimplement/noextend. The implementation
in CDT already has the new effective method - getAttributeSpecifiers() -
implemented.

Change-Id: I252fdeb33c0edcbe73338dc6fca477201bd4d468
2018-05-28 17:25:52 -04:00
Jeff Johnston
ce857c058c Bug 535139 - Container target set-up causes NPE
- add null check before accessing ordered tool chains

Change-Id: I713a55f8e887b642aa4a159e59c454de9a97955a
2018-05-28 13:42:51 -04:00
Hansruedi Patzen
dd5c8726a7 Bug 527954: [C++14] Syntax error when parsing complex udl ""if
With this patch we allow any keyword to be used as a UDL operator, which
for example GCC compiles fine with. They are then no longer highlighted
as keywords but colored the same as normal text. This can be overridden
by coloring overloading operators differently.

Change-Id: If80faf0f3dc599ab4f12fe98977c556aaaefe6aa
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-05-24 18:52:08 -04:00
Vlad Ivanov
809aa57076 Bug 519361: wrap template<auto> types for better type resolution
https://bugs.eclipse.org/bugs/show_bug.cgi?id=519361#c28

Change-Id: I0a2f5479bb853ca26156be5b22673abdc158efab
Signed-off-by: Vlad Ivanov <vlad@ivanov.email>
2018-05-17 19:57:08 -04:00
Nathan Ridge
e533381b75 Bug 534126 - Cache instantiations of alias template instances
This avoid runtime that's exponential in the nesting depth of
alias template instances.

Change-Id: Ibde6a6d98753df54e8e495a8b4547a90e8313191
2018-05-11 00:02:02 -04:00
Nathan Ridge
d8d04e2731 Bug 534332 - Allow C decl-specifiers to store attributes
The parser already accepted this, but the attributes were not stored
in the AST.

Change-Id: I7118eaff9dd150f15885f0aabb8a3b5e707394b0
2018-05-10 22:47:34 -04:00
Nathan Ridge
3ad16b909c Bug 534189 - Do not wait for the editor's shared AST to generate parameter guesses
We want to hold the index read lock while generating the guesses, but we
don't need an AST; we already have the one built for content assist.

Change-Id: I5a60aaca24ce345f5ae387664e025e6fa39cd9d2
2018-05-10 22:44:54 -04:00
Vlad Ivanov
0bf58281c2 Bug 519361: use placeholder type for template<auto>
Change-Id: I40f96479148a92618050ba50d7761f478f92024d
Signed-off-by: Vlad Ivanov <vlad@ivanov.email>
2018-05-08 03:32:11 -04:00
Nathan Ridge
d7c4642ab8 Bug 534098 - NPE in VariableHelpers.createType()
Change-Id: I0b287d31dba8075d8e99f74d6815d3018c985bc7
2018-05-03 23:38:03 -04:00
Vlad Ivanov
ac0e24da56 Bug 519361: try to deduce the type of non-type template parameters
This commit resolves some of type resolution errors for C++17 <auto> templates.

Change-Id: Ibdd3dcc0b7740bce1d6f390d034e1ce67c27be58
Signed-off-by: Vlad Ivanov <vlad@ivanov.email>
2018-05-03 23:36:36 -04:00
Doug Schaefer
3929a1fc80 Add dynamic variable for build directory of active core build config
This will allow us to use that value in external tool launches such
as those used by the Serial Flash launch configuration.

Also removal of the missing src source folder entry in meson.ui.editor.

Change-Id: I1033bdc0c18c9822490a9b8602cef83a42f7262d
2018-05-03 18:44:46 -04:00
Nathan Ridge
e17354be5c Bug 533822 - Support void* as an argument type for the GNU sync builtins
Change-Id: Idabea11af3ae00cc9bf63070b5b211e2c1242e97
2018-04-27 02:50:41 -04:00
Jeff Johnston
a3211e7cf6 Bug 533888 - Simplify Meson Core Build to use startBuildProcess
- fix MesonBuildConfiguration to use startBuildProcess instead
  of CommandLauncherManager
- change CBuildConfiguration startBuildProcess() method to accept
  a build directory and to replace environment variables based
  on input parameter
- fix CBuildConfiguration watchProcess routines to ensure that the
  ReaderThreads have completed processing output to the console
- change StandardBuildConfiguration and CMakeBuildConfiguration to
  pass the working directory to startBuildProcess

Change-Id: Icb4f2d076f0e6bb1513b20f6f198f720eae07e51
2018-04-26 14:48:50 -04:00
Vlad Ivanov
7d9e0b0ddd Bug 519062: add support for digit separators
Change-Id: I6fa990c76395dcc6f9b0e5e05707cff03a34b8db
Signed-off-by: Vlad Ivanov <vlad@ivanov.email>
2018-04-25 22:06:39 -04:00
Jeff Johnston
b56078ed96 Bug 533842 - Fix Launchbar for enabled/disabled Docker Connections
- fix CMakeBuildConfigurationProvider to not verify if a toolchain
  file exists which doesn't occur for Container Build configurations
- add new ICBuildConfigurationManager2 interface that adds new
  recheckConfigs() method, make CBuildConfigurationManager
  implement this new interface
- add new recheckConfigs() method to CBuildConfigurationManager so
  that if a Docker Connection is enabled, the list of invalid configs
  can be rechecked and those that are now valid can be removed from
  the noconfigs list
- have ContainerGCCToolChainProvider implement
  IDockerConnectionManagerListener and register itself as a listener
  during init
- add new changeEvent() method as part of a listener that will add
  toolchains for connections that are added/enabled and similarly
  will delete toolchains for connections that are removed/disabled
- do the same with ContainerTargetTypeProvider (making it be an
  IDockerConnectionManagerListener and adding/deleting targets based
  on whether a Docker Connection is added/enabled or deleted/disabled
- as well during the init process of ContainerTargetTypeProvider
  remove any targets for Connections that aren't established

Change-Id: Id5e9415eaa770ef7f6ba1ddd11312ed003585391
2018-04-20 12:44:27 -04:00
Jeff Johnston
2e99babe5b Bug 533222 - Add Container Build support to Std Make Core Build
- add new getConsoleHeader() method to ICBuildCommandLauncher
  interface and ContainerCommandLauncher class
- modify MakefileBuildConfigurationProvider to create build
  configurations based on an Image name when building for Container
  and as well support the linux-container os that is used for
  Container targets
- add new IConsoleParser2 interface that extends IConsoleParser
  and adds new processLine method that takes a List of Job as
  a parameter
- make CBuildConfiguration implement IConsoleParser2 and add new
  processLine method
- modify watchProcess to recognize an IConsoleParser2 and pass
  a Job List then wait for all jobs to finish before calling
  shutdown() and possibly reindex
- add new IToolChain2 interface with startBuildProcess() method
- add new startBuildProcess() method to CBuildConfiguration
  to look for new IToolChain2 and use its startBuildProcess()
  method to perform the build
- make ContainerGCCToolChain implement IToolChain2 and add
  new startBuildProcess() method to build in Container
- change StandardBuildConfiguration to use startBuildProcess()
  to do build and clean

Change-Id: Icae9a55ef6abfa1b7f611544ad591b6062c72585
2018-04-16 12:10:42 -04:00
Torbjörn Svensson
864b305ff4 Bug 533379 - Only add space when appropriate
Only strings starting with "operator" should be subject to the space addition.

Change-Id: I690695e7c3385e0d4e64ddd4cbe470a20cf788d6
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2018-04-16 10:36:56 -04:00
Nathan Ridge
fc8f2d6176 Bug 533216 - Avoid a ClassCastException in EvalBinding.unmarshal() if the parameter owner could not be stored in the index
Change-Id: Ic44495420b0489cfeb1e371e2b776b44b57895fe
2018-04-13 01:46:10 -04:00
Nathan Ridge
72d9035173 Bug 533216 - Correctly classify local types as dependent or not
Change-Id: Ie34d0540fd1efa85e29dbe525b75a35af21dc7cf
2018-04-13 01:45:57 -04:00
Nathan Ridge
ff1cfbf1d4 Bug 532905 - Implement compositing for InitializerListType
Change-Id: I9aea9b2a9fb0540f4cf9ab1f54ce0d1d17686d7d
2018-04-13 01:43:26 -04:00
Nathan Ridge
91a142fcb7 Bug 319506 - Allow renaming class via constructor
Change-Id: I3c2f3e5337c7cdea4714732580806713aa28187b
Signed-off-by: Ian Leslie <ian.leslie@lesliesoftware.com>
2018-04-08 01:17:06 -04:00
Hansruedi Patzen
54287859f0 Bug 533319: ASTRewrite parameter pack wrong pointer operators position
Change-Id: I4798afa95d66aeed04b155ccd62a2b133f579296
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-04-06 17:01:48 +02:00
Nathan Ridge
a10fc3eafe Bug 532781 - Ensure the model builder looks up SourceManipulationInfo for anonymous namespaces in its local cache
Change-Id: I98ff370d4cd04254d8896409455fae61182fb3df
2018-04-05 16:25:44 -04:00
Nathan Ridge
f80be34148 Bug 532905 - When throwing a CompositingNotImplementedError, include the kind of IType or ICPPEvaluation for which compositing is not implemented
Change-Id: I1414f70ae5f86263fc313f61aa36485df8c4cb3f
2018-03-30 21:08:48 -04:00