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

13951 commits

Author SHA1 Message Date
Jiří Engelthaler
af4a9223c3 Bug 536470: Fix NPE for includes outside workspace
Change-Id: I487823cf627680f61cf19d1228a84a3da68ce420
Signed-off-by: Jiří Engelthaler <engycz@gmail.com>
2018-06-29 13:07:59 +02:00
Nathan Ridge
40133cceb4 Bug 534330 - Use the full path of the file when inventing names for anonymous types
Otherwise we can get clashes if two anonymous types happen to be
at the same offset in files with the same name but different paths.

Change-Id: Ia269a7c6fa1dc7e37d23d9333b245143d7c33e5d
2018-06-26 16:51:41 -04:00
Marc-Andre Laperle
77045f1942 Bug 536023: NoClassDefFoundError for javax/xml/bind/DatatypeConverter
This package is marked for removal in Java 10 and in fact, is not found at
run time. Instead, use the javax.xml.bind plugin from Orbit.

javax.xml.stream is also needed by javax.xml.bind.

Change-Id: Ida10746267c814a8a11f2db7181dcb9e8ceaad44
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2018-06-26 11:05:28 -04:00
Hansruedi Patzen
cbea1acd85 Bug 535257: __declspec lost on AST rewrite
Implemented new IASTMSDeclspec nodes.

Change-Id: I2fbc0c2124a8158a457bae0e3cf95aa20ac8ac00
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-21 04:18:53 -04:00
Thomas Corbat
512b73075f Bug 535274 Follow up cosmetics
Change-Id: I562bc0925e53a461bd9e6362dc14f2e1cd924582
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-21 03:34:13 -04:00
Hansruedi Patzen
bc4aa4597d Bug 535256: Rewrite removes attributes, key and base from C++ enum
Fix and tests.

Change-Id: I1f5519f833563378d87b3c932b754e29c3e32b06
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-20 12:40:31 +02:00
Hansruedi Patzen
4c66f7c8f3 Bug 535274: Allow attributes on namespace definitions
Implementation and tests.

Change-Id: I0cca9dea8630ae66b005856338342b4173c48216
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-20 08:49:00 +02:00
Hansruedi Patzen
cf410f1982 Bug 535275: Allow attributes on function parameter declarations
Implementation and tests.

Change-Id: If64f1ee1aac79aa1ef3592fc8636686562298ffc
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-15 14:53:29 +02:00
Hansruedi Patzen
c0d54f4f19 Bug 535269: Allow attributes on enumerators
C++17 feature.
Implementation and tests.

Change-Id: Idafe4ca41058e8387aeae9a27f028677c62245c0
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-15 13:42:25 +02:00
Hansruedi Patzen
66df5ff428 Bug 535278: Formatter error formatting CF statements with attributes
Fix and tests.

Change-Id: I1928d5fe70c02cbc9c147bb305720ad75b4913fc
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-15 11:26:53 +02:00
Hansruedi Patzen
8eefa560ac Bug 535263: Switch statement attributes lost on rewrite
Fixed with the patch for 533552, only the CodeFormatter needed fixing.

Change-Id: I258617d01b091764ad9776921e773e208002c989
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-15 10:36:26 +02:00
Hansruedi Patzen
a9988957f6 Bug 535331: Rewriting sizeof...() drops the parenthesis
Fix and test.

Change-Id: If54f24d833724f3c51ae0b6e7f325493e5110719
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-15 08:53:27 +02:00
Hansruedi Patzen
3f98811f73 Bug 535266: Formatter error CaseStatement with attributes
Fix and test.

Also fixes formatting errors with DefaultStatements.

Change-Id: Idac4a7105d7ae86db40755bd27cef60e197de664
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-15 02:33:57 -04:00
Nathan Ridge
8792d9d5a6 Bug 535557 - Avoid setting a null lookup point in SizeofCalculator.sizeAndAlignment()
Change-Id: I50974c7b74ef511aae96e2ce2a9a3b96ecbdb594
2018-06-15 00:09:26 -04:00
Hansruedi Patzen
2ca147ebf1 Bug 533552: Rewriting nodes with attributes causes attribute duplication
Fix and tests.

Also fixes bug 535265, since the Codan Quickfix tests fail otherwise.

Change-Id: Id31e40907b7ebdeee4a67c014c3a1b1cd37579ad
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-14 04:47:20 -04:00
Nathan Ridge
4e4e010e33 Bug 531701 - ClassCastException in
AttributeWriter.writeGCCAttributeSpecifier()

* Added test to reproduce initial issue.

Change-Id: I72e60fb2244b7d40492bfcdeaa58a8707c39e277
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2018-06-11 13:34:03 +02:00
Jonah Graham
4d5204c771 [releng] Bump version to 9.6.0
Change-Id: I1618eaeab14b421155af733a73e36f6e37ea0b85
2018-06-05 22:13:24 +01: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
Nathan Ridge
d598331c81 Bug 532684 - NPE in PDOMMacroReferenceName constructor
Change-Id: Iea6200203350591927f505213facc9224243cc65
2018-03-30 02:02:59 -04:00
Jeff Johnston
3e60faaa6c Replace refreshScannerInfo with setActive method
- remove the refreshScannerInfo method from ICBuildConfiguration2
  but add it as a protected method of CBuildConfiguration
- edit MesonBuildConfiguration and CBuildConfiguratio appropriately
- add new setActive method to CBuildConfiguration which calls
  refreshScannerInfo

Change-Id: Iebae09507f24293007a299eea3069451e566a91b
2018-03-20 15:54:15 -04:00