1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-05 16:56:04 +02:00
Commit graph

25730 commits

Author SHA1 Message Date
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
Doug Schaefer
68b441c16d Bug 444054 - Make sure we build the right project
The call to CDTBuildAction's super updateSelection method
clears out some state. Make sure we call it even though we
want to always build CDT projects.

Change-Id: Ie5dc1f583bbcc04d85b7254a4b7c18ee50f02997
2017-11-27 11:02:07 -05:00
Hansruedi Patzen
3319c8596e Bug 527396: Parser includes curly brace when parsing noexcept functions
Change-Id: I0d2626cccf5b093f2f3cc9fbcbeaedbb21ebd508
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-24 13:25:00 -05:00
Hansruedi Patzen
19b4848e08 Bug 527709 - [Checker] Test suite fails on Windows
Change-Id: I70cf18245dc8dba14493f212c932ea08ae85a6cf
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-11-24 10:44:11 +01:00
Doug Schaefer
93a5fcaa2a Bug 444054 - Always enable the build actions.
If you select a non-CDT project then select a CDT one, the
Build Project menu item wouldn't enable. If you select the
CDT project again, it does. Big question is why isn't it enabled
when selected.

This fix just enables it all the time. Much easier for users
to understand.

Change-Id: I674740f2c6998686cade1f910a269a4e9d935d39
2017-11-23 14:41:10 -05:00
Doug Schaefer
d9b8eb3fd0 Hook up the old Include Paths and Symbols page to Makefile projs.
Makefile projects depend on build output parsing to pick up
compiler options to use while indexing. Sometimes, that just
doesn't work. As a back up we've always allowed users to manually
add them to the project. Long ago when we had pure make projects
we had UI for this. This change hooks that old UI up. It was a
time before build configs so they get applied to them all but it
serves it's role as a backup when users run into problems.

Unmarked everything I use here from deprecated until we decide
how to replace these with Core build config aware settings.

Change-Id: I6fc4d48e5315df3c60c7591b026ae0a53a1f505e
2017-11-22 16:40:14 -05:00
Nathan Ridge
a20271a780 Bug 526669 - Use the Matcher API correctly in CodanProblemMarkerResolutionGenerator
Change-Id: Ia47cabea736fe2965f60117ae2074b6e2212d917
2017-11-21 14:31:14 -05:00
Doug Schaefer
12e709427d Releng fixes, ensuring legal files are there. Removing projects.
Removed the empty debug.core.tests project. Also removed the
utils-feature and remote-feature projects since these shouldn't
be features.

Change-Id: Ib5d297c626de5328e3421a1fc9346330d9907750
2017-11-21 13:10:50 -05:00
Doug Schaefer
087f1b859f Add the Launch over Serial Flash feature to the repo.
Change-Id: I76283cb28ef48f8bc777c91decf1e8289e878a83
2017-11-21 00:19:31 -05:00
Doug Schaefer
682243a727 Undo the fix I did for creating the build container.
It cause more problems than it solved. Will need to revisit later.

Change-Id: Ifbbb2a29c41f24ff08e1debb03ee5f4739d0223b
2017-11-20 22:02:25 -05:00
Doug Schaefer
a90655bc04 Set CC and CXX variables to toolchain compileCommands in std build.
Also set BUILD_MODE to the launch mode so the makefile can do
different things based on the mode. Change template to add -g
option for debug.

Also fix a deadlock I detected due to side affect build folder
creation.

Change-Id: Ic7b13ba3238e6ef201cccb1b2bfc8dcc6956ea3a
2017-11-20 15:55:39 -05:00
Doug Schaefer
dc4be72b1a Fix MSYS2 so that it's provider overrides the path provider.
Also handle case when launchMode is null when creating a build
config.

Change-Id: Ie70de785168c2e24c842d517c64a297ba44e24f4
2017-11-20 13:28:22 -05:00