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

25991 commits

Author SHA1 Message Date
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
ee784263c2 Bug 530371: fix device disposed SWTException on shutdown
Change-Id: I2cb4bf5da4ce35d8b7da4a31d0fa2845c9587985
2018-01-26 10:12:40 -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
Jeff Johnston
3b91c26043 Fix launch config matching for Run as Container Application
- fix LaunchShortcut find launch config method so that if the
  active configuration is not enabled for Container build, then
  it will look for config with default connection and image

Change-Id: If11865dd43cd2a08a0565b3483523002b0a00613
2018-01-24 12:58:15 -05:00
Jeff Johnston
e24a04895a Fix current patch concerning Container launching
- fix CApplicationLaunchShortcut find config method test for
  Container build so we don't ignore valid local launch configs

Change-Id: I4453ce2b26e15c9ec8ad53252e9e539c1268ddd8
2018-01-23 13:20:53 -05:00
Jeff Johnston
64154f20f2 Bug 530053 - Launching locally after Container launch doesn't work
- fix other way round, launching locally, then in Container
- add null check for connectionURI in Docker LaunchShort
  when searching launch configs in case there is a local
  configuration in the list

Change-Id: I08f89a9d1dccff3ace54667e86e9d3e8840f8694
2018-01-22 14:58:40 -05:00
John Dallaway
573af6187b Bug 494059: Add OpenOCD extensions
Change-Id: I0a2820f40c641a85aac11e8d72b6aca65f599b6e
Signed-off-by: John Dallaway <john@dallaway.org.uk>
2018-01-21 16:35:50 +00:00
Jeff Johnston
746993c9ee Bug 530053 - Launching locally after Container launch doesn't work
- add logic in CApplicationLaunchShortcut find launch configs to
  discard any launch config that has a Docker Connection URI
  attribute

Change-Id: Ieb53f4c89b24cd3fac01bec35eafc8c62748d0b3
2018-01-19 14:37:44 -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
cartu38 opendev
b222d73001 Bug 529448 : Allows build debug level setting to be restored to proper
value

Change-Id: I64182e241e91007fb1c1570c6c0b5231632533d4
Signed-off-by: cartu38 opendev <cartu38.opendev@gmail.com>
2018-01-15 06:07:36 -05:00
Jeff Johnston
1ae56d435a Bug 528169 - Run autotools commands within containers
- add new optional build property to run all Autotool
  commands in Container
- for Autotool nature projects only, add a checkbox to the
  ContainerPropertyTab to turn this new option on/off
- change the AbstractAutotoolsHandler class to look at the
  optional build properties for the project to determine if
  the fallback CommandLauncher used to run commands should come from
  the CommandLauncherManager to run in Container or to a
  local CommandLauncher
- change AutotoolsNewMakeGenerator the same way
- add new messages as needed (add a tooltip to warn user that
  choosing new option may cause inconsistencies for files shared
  among configurations)

Change-Id: Id828ec3015f32f320d2247bd0577944164c71df8
2018-01-10 19:47:29 -05:00
Doug Schaefer
7627e275ef Bug 529121 - NPE fix for projects created with CMake
Not sure what changed but the launcher for these projects is now
returning null for an environment. Added a null check.

Change-Id: I05c94bb77f951f417577d0c2a3e3b4b6b996214b
(cherry picked from commit be9c1b8338)
2018-01-10 12:15:56 -05:00
Nathan Ridge
49f1411c7b Bug 529338 - NPE in QuickFixUseDotOperator.apply()
Change-Id: I195f804e64abb77b5540d5abf0249d4de7816024
2018-01-10 00:05:03 -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
Jeff Johnston
b49930716f Bug 529390 - Run in Container launch config not resetting err message
- modify ContainerTab to reset the error message when Docker
  Connections/Image changes cause a listener notification and
  then look to see if no connections or no images errors exist
- modify ContainerTab to reset the error message if the Docker
  Connection selected gets changed
- bump org.eclipse.cdt.docker.launcher version to 1.1.1

Change-Id: Iad5051750a5dd53a0eb458d73570fffd9e3867c4
2018-01-03 17:52:36 -05:00
Jeff Johnston
7050f18ecf Bug 529386 - NoSuchMethodError in AutotoolsNewMakeGenerator.runScript
- bump up org.eclipse.cdt.remote.core so that autotools.core
  can refer to the latest version in its dependencies

Change-Id: I4ec198d7c5d367a4a479a1dd39839f3c2d8c4a96
2018-01-03 16:00:52 -05:00
Davin McCall
fc053e6124 Bugs 529299 and 491296. Fix indentation after 'noexcept'/'override'.
Change-Id: I3129e5f9fced4a27020f6ca27238bf5faf4df889
Signed-off-by: Davin McCall <davmac@davmac.org>
2018-01-03 15:39:11 -05:00
Nathan Ridge
1213755167 Bug 517670 - Handle instantiation of closure types
Change-Id: I82208dbb2ec0e11760cbd78a073acefa627d8d36
2017-12-31 00:18:29 -05:00
Nathan Ridge
a8ff78b531 Bug 528457 - Store lambda parameters in index
The special binding type CPPLambdaExpressionParameter is removed.
Instead, a lambda expression parameters's are represented as
regular CPPParameters owned by the closure type's generated
function call operator.

Change-Id: I4afeac90c2595a1f84dfa59f057d0494b64d079c
2017-12-31 00:17:07 -05:00
Alena Laskavaia
ce18aad766 Bug 350144 - suppressing the "No break" problem with regexp
added regex support for suppression comment

Change-Id: I590d171fcce23d547a489e42a791aa484963d4a6
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2017-12-26 15:08:20 -05:00
Nathan Ridge
89ec7fe8b8 Bug 528846 - Handle id-expression that instantiates to pseudo-destructor name of built-in type
The pseudo-destructor is represented as a CPPImplicitFunction, computed
lazily and stored by CPPBasicType.

This commit also adds support for alias templates to
CPPTemplates.getTemplateName().

Change-Id: I6774556b2493cb68d32c3007d6ce48c7805595f4
2017-12-24 11:38:49 -05:00
Hansruedi Patzen
3e66e22aed Bug 527844: ExpressionWriter does not write IASTLiteralExpression suffix
Change-Id: I4dbca527a16c698d7f1a16f2a6a0eca2e6cdc77a
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-12-21 12:52:04 -05:00
Nathan Ridge
86c3d8eeca Bug 525739 - Have Open Declaration find potentially-matching definitions for a declaration
The implementation strategy is as follows:

  - Implement an option to find potential matches during an AST
    definition search.

  - Store names that resolve to ProblemBindings in the index,
    as references for the candidate bindings, annotated as being
    potential matches.

  - Add an option to Index.findNames() to include potential matches.

  - Use the added options for the index and AST searches in
    OpenDeclarationsJob, prioritizing them accordingly (e.g. exact index
    matches take precedence over potential AST matches, but if there
    are no exact matches, potential matches from the AST and the index
    are combined).

Change-Id: I19f5c58820eb3ec79a31652d69fd5b86acaba115
2017-12-20 16:01:24 -05:00
Nathan Ridge
be77fcf544 Bug 528456 - Store specializations of anonymous classes in the index
Change-Id: I9772df1430c239bd7144fdd5a2512b7a2fd3fca4
2017-12-20 15:09:30 -05:00
Hansruedi Patzen
8618c34e5f Bug 528196: Ignore cv qualifier for UDL operator lookup
Change-Id: If8567c96d8dedfbc4b5ffd7e67db074f1fe48ca2
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-12-14 02:23:34 -05:00
Hansruedi Patzen
89820bf95d Bug 528196: Ignore cv qualifier for UDL operator lookup
Change-Id: If8567c96d8dedfbc4b5ffd7e67db074f1fe48ca2
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-12-14 02:23:22 -05:00
Nathan Ridge
b07df3a4fc Bug 527697 - Attempt deduction with all base classes of an argument type
Previously, we would only try the first base class whose primary
template matched that of the parameter type.

Change-Id: I0511e6a1ba1c7197887ff23bc37b70a2a820eb87
2017-12-14 02:19:59 -05:00
Nathan Ridge
e2c5592d9d Bug 528124 - NPE in CCOdeFormatter.findOverlappingPreprocessorStatement()
Change-Id: I4669d4938551506d7a06624b4318253cc4ecc643
2017-12-11 22:38:42 -05:00
Nathan Ridge
f8b30717ce Bug 528072 - Implement evaluation of __is_trivially_constructible
Change-Id: I331ea5c2f5203a87290d4ef537a8a75dab384c34
2017-12-11 22:36:41 -05:00
Nathan Ridge
ccfad7cf58 Bug 527961 - Add missing GCC builtins __builtin_object_size() and __builtin_ia32_shufpd()
Change-Id: I3ab96a24a8f45f3478dcdc07eef0d60029922ae9
2017-12-02 17:09:29 -05:00
Doug Schaefer
837b1ce541 Fix version of serial launch feature.
Change-Id: I850f72c9b094f732e384596c05ed30485bd2fceb
(cherry picked from commit fdd005c96f)
2017-12-02 01:29:06 -04:00
Doug Schaefer
8ebfd848d7 Fix up license field for serial launch feature.
Change-Id: I26534c7748186428af908111dc712cd0c0d09708
(cherry picked from commit c546572ac9)
2017-12-02 01:05:35 -04:00
Doug Schaefer
6a12755a4e Fixes for ESP32.
In the new toolchain wizard, the select button wasn't hooked up.
So I turned it off. Also, we had no build settings tab on the serial
launch.

Change-Id: I811f579334889085f49d298878589109c5e4a228
2017-12-01 16:28:29 -05:00
Doug Schaefer
d6a1c13e5c Cleanup Core Build Preference pages.
Move Toolchains directly under C/C++ and rename to Core
Build Toolchains. Add a label describing what the toolchains
are for in hope of avoiding confusion with managed build.
Also move Qt into C/C++.

Change-Id: Ia1d76087c65b26562d1001243ea355c7ac32365e
2017-12-01 14:04:51 -05:00
Doug Schaefer
4eb76a4ede Fix issue with core build launch desc deletion.
When projects were deleted, sometimes the descriptors
would not. We were creating our own core build launch
descs which didn't have an equals method causing duplicate
entries to be created. Arduino uses launch bar's project
launch descs. This change does the same for core build.

Change-Id: I2a6f60e92aaa20892d6c1d8331ded903b226984f
2017-12-01 12:47:21 -05:00
Nathan Ridge
193cb87bfa Bug 527697 - Size of parameter pack where arguments themselves contain a pack
Change-Id: I850eaf74a3fb3ec4b160aedc3f594ff0d0edf31a
2017-12-01 11:31:09 -05:00
Martin Oberhuber
abf1b13e6b Bug 527959 - Fix argument lists for some builtins
- Add volatile variant for __atomic_clear and __atomic_test_and_set
- Add missing parameters for __builtin_fmax and related

Change-Id: Ib31d1a410b8749f5672d70d7d02ca1dff962c38b
Signed-off-by: Martin Oberhuber <mober.at+eclipse@gmail.com>
2017-12-01 11:27:46 -05:00
Hansruedi Patzen
a4dcbbaf15 Bug 527553: Detect invalid decltype(auto) with a type specifier
The evaluated type of 'decltype(auto)' in combination with const and/or
volatile will be a ProblemType since this is not valid code. The patch
also contains a checker to give the user a visual feedback.

Note: A proposed quick-fix has been removed after a short discussion.

Change-Id: I8760ed0ac28e28529ab30516accac9c0413c87d9
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-30 14:56:02 -05:00
Doug Schaefer
89d45ef7fd Bug 515305 - Fix 32-bit serial port dll
It was depending on the libgcc dll. Changed to link it
statically.

Change-Id: Ifd8610c78d3861f3c4cd82fde3bb47f5c3afe594
2017-11-30 11:11:24 -05:00
Doug Schaefer
d0e528d135 Fix manual include/macro settings handling for GCCToolChain.
We weren't passing in the base settings to the compiler for
discovery. Also had a bug in the defines regex that mishandled
values with spaces in them.

Change-Id: I48183bfc3f61056324da009e58327cdcfed8754a
2017-11-29 12:18:12 -05:00
Doug Schaefer
a69ce37879 Info cache files were not getting deleted properly
When deleting projects then creating them with the same name
the scanner info didn't get cleared up and was reused. We
were deleting these files from the wrong path.

Change-Id: Ieda174b7cfc9690ab51be65e674bda321cb3bc10
2017-11-28 13:19:16 -05:00
Hansruedi Patzen
7d208e098f Bug 527872: UDL operator name gets duplicated on rewrite
Change-Id: Id1cda5f09f6fc3852a99a607be21f6ea33f5faf5
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-28 15:40:28 +01:00
Doug Schaefer
6db1357b1a Stop launch on error. Fix up set/get make commands.
We were missing the dialog to ask if you wanted to continue
after build errors in a project. We were missing the method
that provided the list of projects to do that check.

Also while testing that noticed the handling of the build
and clean command UI was broken with make projects.

Change-Id: I698e151672a114bb22c815f49d362b6413b9c315
2017-11-27 18:04:40 -05:00
Doug Schaefer
0ed7b10dea Bug 527818 - Clean up handling of missing toolchain file
If we're building for non-local targets we need a toolchain
file. Print out an error message when it's missing at build
time. Recover when one is added.

Also a rider that makes sure the Makefile projects are
marked experimental.

Change-Id: I0c295dc5b3d71a04c60c3385ce790553f172859d
2017-11-27 14:46:06 -05:00