1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

13602 commits

Author SHA1 Message Date
Nathan Ridge
30c0a1da7c Bug 520965 - NPE in AbstractCPPClassSpecializationScope.getBindings()
Change-Id: I02494b27bf697821361a896235b38075b161f0e7
2017-08-22 02:31:15 -04:00
Michael Woski
e8bfecea0b Bug 456579 - Improve CSourceHover and OpenDeclaration for TemplateIds
CSourceHover did not know how to handle UnknowMemberClasses

Change-Id: I4ef6a4ad794e670c4d5e9ccc9cea204f8d273f2a
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-08-11 23:10:39 -04:00
Thomas Corbat
c7b6aa3bd5 Bug 520893 Pack expansion in IASTTypeId is lost
Change-Id: I9137d028c56ce62ee02571099a7a5ab1b2b481cd
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2017-08-11 14:29:02 +02:00
Michael Woski
27b467cb11 bug 520805 - [codeassist] HeuristicResolver can't resolve enum scope
Change-Id: I8c820bd91c1f5775466697c2e0c63351ce69bcba
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-08-10 16:53:33 -04:00
Michi
e252398ee1 Bug 520783 - wrong AccessContext for heuristically resolved
CPPUnknownMemberClass

Change-Id: I5a24c7df1dc3b4c270c60b93327190c0461c4cd0
Signed-off-by: Michi <woskimi@yahoo.de>
2017-08-10 22:15:21 +02:00
Michi
b0ce8bc3fb bug 520470 - [codeassist] HeuristicResolver & qualifiedType resolution
Change-Id: I9569d776981dbf87a075aebcd0c07ce9f1470f47
Signed-off-by: Michi <woskimi@yahoo.de>
2017-08-10 15:43:59 -04:00
Andreas Sewe
18831f4407 Bug 520846 - Use ArrayContentProvider.getInstance() where possible
As ArrayContentProvider is stateless, re-using the global instance
avoids a few allocations.

Change-Id: Ia378195c2c90e35badcf6e2c1938a93877a442e6
Signed-off-by: Andreas Sewe <andreas.sewe@codetrails.com>
2017-08-10 11:36:45 -04:00
Nathan Ridge
08ea2dc248 Bug 520049 - Perform array-to-pointer conversion on operands of C conditional expression
Change-Id: Idd57bbcf12b7edf5c19fbd3debb8e64ea7851107
2017-08-08 00:52:06 -04:00
Jonah Graham
7f3b2120fe Bug 520257: Avoid touching file with unchanged content
When creating the settings.xml, avoid writing to the file unless
the contents have actually changed. This avoids a resource delta
that caused unneeded rebuilds.

Change-Id: I83cea84e96d006f99a1c264f283d4bba4ad68784
2017-07-28 10:53:01 +01:00
Nathan Ridge
10ef1f11b0 Bug 519819 - Correctly classify unknown member binding as an unknown member class when it appears in a nested-name-specifier
Change-Id: I2d153e8676403709d4d674d3dcead6896ff9cafe
2017-07-27 00:35:22 -04:00
Nathan Ridge
862cf70fa3 Bug 519790 - ClassCastException in CPPVisitor.createAutoParameterType()
Change-Id: If200ee08b61b94af2d559505498b4dbc585c3d6e
2017-07-27 00:33:42 -04:00
Marc-Andre Laperle
01a45c3d00 Bug 517402 - Ambiguous namespace, conflicting with a different kind of symbol
Change-Id: I5a648e23f1222c1bbf75a13b367dd51dd6231f61
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-07-26 13:49:34 -04:00
Nathan Ridge
feed18180b Bug 519196 - NullPointerException in IndexUI.getCElementForName
Change-Id: Ia6ad8932056c59f7f818833ba8407dee0e2fcdad
2017-07-17 19:54:01 -04:00
Jonah Graham
679896ec6e Bug 515500: Preserve known line numbers when updating ui
This resolves a significant UI performance regression so
now line numbers don't need to be recalculated for areas
where they are already known.

Change-Id: I4668d620cde24b7cd8c6a22e9c022eaf5b237ff2
2017-07-11 10:53:09 +01:00
Patrick Koenemann
3a57ea79ab Bug 514708 - Performance improvement indexer by caching Strings.
Change-Id: If07961701bd568f674918c484cad16699bfa1cdf
Signed-off-by: Patrick Koenemann <patrick.koenemann@itemis.de>
2017-07-06 21:30:24 -04:00
Nathan Ridge
8286a3e2d4 Make sure stack traces are logged for CoreExceptions
Change-Id: I4686473c8925c241f16a79892382359829ec1625
2017-07-06 02:10:45 -04:00
dschaefer
c4990122ac Bug 519190 - Get CMake working with MSVC toolchain
Adds in Core Build support for the MSVC toolchain. Fixes issue
with PATH in the core build configuration since on Windows it's often
Path.

Change-Id: I3eb201bc22bf42341207e8f3bbef999d4d174f05
(cherry picked from commit 7f3745c765)
2017-07-05 10:18:36 -04:00
Jonah Graham
dd07cba37b Bug 519125: Expose console refresh rate as a preference
Change-Id: I342512ff52887bc34e17185c2aa9faa34893996a
2017-07-04 11:55:45 +01:00
Thomas Corbat
65eda42b16 Bug 518628 Function declarator location misses virtual specifiers
- Change parser to include virtual specifier in function declarator
location
- Change DeclaratorWriter to write all virtual specifiers in their
initial order

Change-Id: Iff381394b834146c1b63877bc9eb84517d31e078
2017-06-22 07:48:33 -04:00
Nathan Ridge
bd4656755c Bug 516338 - Avoid calling instantiateType() on arguments of non-dependent template instances
Change-Id: I51628e9b6ca569943879f48d4c0d0b740bdc23b8
2017-06-20 02:34:07 -04:00
Nathan Ridge
1dceabb0eb Bug 516338 - Detect substitution failure during instantiation of dependent alias template arguments
Change-Id: Ia97e0632e17b4047a0fe35c05be72dab75e43d5c
2017-06-20 02:34:07 -04:00
Nathan Ridge
e374b4b08e Bug 516338 - Have ICPPAliasTemplateInstance implement ICPPTemplateInstance
This allows querying alias template instances for their arguments (for
e.g. instantiating dependent arguments later).

Change-Id: I7cc3dfcef75fe0faf104dc7bfe11e2acd90a4748
2017-06-20 02:34:07 -04:00
Nathan Ridge
8d6cab41e7 Bug 516338 - Introduce alias template specializations
We previously modelled alias template specializations as alias template
instances, which was conceptually incorrect and problematic for a number
of reasons.

Change-Id: Ibca8b87bb3d54cd3ae312254a02e8522e446331d
2017-06-20 02:34:07 -04:00
Nathan Ridge
3e0853ae0c Bug 516338 - Improve typedef preservation
Besides the UX advantages of typedef preservation (such as refactorings
preserving typedefs), it's important for correctness because the
arguments of template aliases can be subject to SFINAE even if they
don't participate in the target type.

Change-Id: I4e71372553dc418d1b8c3e27bd2c0387a41a3269
2017-06-20 02:34:06 -04:00
Nathan Ridge
c24e5d17b3 Bug 517954 - ClassCastException in CVisitor.findBindingsForContentAssist()
Change-Id: I0780b422ee727def577f78ed600f66a3ef4728d0
2017-06-08 02:57:45 -04:00
Nathan Ridge
5f937c0bf8 Bug 516648 - Delay storing of the type, exception specification, and parameters of a function specialization in the index until the post-process
This is needed to avoid infinite recursion, and mirrors the way regular
functions are stored.

Change-Id: I72d0c9fb1567cb9d2ba8922d38e17ec63e1fe97a
2017-06-04 18:29:00 -04:00
Doug Schaefer
0084cc2707 Bug 510987 - Properly support PIE executables as build output
When checking whether gathering the build output from a
CBuildConfiguration, if a binary is a shared library and is an
ELF file, dig deeper and see if it has an INTERP section in the
program header. That tells us it's actually a PIE executable and
add it to the list.

As a rider to this bill, improve the error message when a Qt install
can't be found for a given toolchain/target.

Change-Id: I8fd0bf2d204e9425b02916d7b17f4309a5ad9dd5
(cherry picked from commit 14b07f490c)
2017-06-02 12:08:10 -04:00
Doug Schaefer
d3dcd92d8f Bug 517581 Keep env var operation on merged vars the same.
If we are merging two env vars and the operations are both
append or prepend, keep that as the operation instead of
replace.

Change-Id: I758a54b8903eabafac38bf2f3f7d7065c0373e70
2017-05-31 13:07:37 -04:00
Doug Schaefer
63ff83042b Bug 447703 Build Console on top to true by default.
This matches the behavior of every other console provider
I've seen.

Change-Id: I0f1cdb22401bd7e204988df860854956fc57dde4
2017-05-31 11:26:44 -04:00
Marc-Andre Laperle
35d0e13240 Bug 514459 - StackOverflow in PDOMCPPVariable.getInitialValue
Change-Id: Iaee32f03a4fa821979fca1e1ca7b2b272bac1737
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-05-26 11:47:09 -04:00
Nathan Ridge
4412c851ab Bug 516686 - ArrayIndexOutOfBoundsException in CPPASTLiteralExpression.computeStringLiteralSize()
Change-Id: I45ce05315c57847bf8ae784b2fe7569a72716894
2017-05-25 20:52:22 -04:00
Nathan Ridge
b0cfef83db Bug 516685 - ClassCastException in CPPTemplates.createInstance()
Change-Id: I9b4ca25afa60a6ed3a79411cc5daa27add3e9cba
2017-05-25 20:51:01 -04:00
Nathan Ridge
3147cc4732 Bug 516627 - Add support for generic lambdas
Change-Id: I2e8d16cfe2dc58b77e36fa7a6957506c90b7e75a
2017-05-22 13:39:55 -04:00
Nathan Ridge
f579acd381 Add some more commonly used types to SemanticTestBase.CommonCPPTypes
Change-Id: Ifec1e26f9e5a31651229e50002dfcb2d67b1379d
2017-05-22 13:39:29 -04:00
Nathan Ridge
9aa8aca96b Factor out an AST2CPPTestBase base class for C++ AST2 tests
Change-Id: I923fa1559a0cca584ff3a601d59ac71c0e491c49
2017-05-22 13:38:53 -04:00
Jonah Graham
b48696a6ea Bug 314428: add missing copyright header and format file
Change-Id: I79883240c004485787879383ee29663444ccf8ba
2017-05-17 13:39:47 +01:00
Felix Morgner
ca1ab7f52d Bug 491957. Preferences & save action for choosing const alignment
Conflicts:
	core/org.eclipse.cdt.core/META-INF/MANIFEST.MF
	core/org.eclipse.cdt.core/pom.xml
	core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/TextTestSuite.java
	core/org.eclipse.cdt.ui/pom.xml

Change-Id: I061fa28d2e0b37f6d00232ad619f23b892e13ce6
Signed-off-by: Mario Meili <mmeili@hsr.ch>
Signed-off-by: Benny Gaechter <benny.gaechter@hsr.ch>
Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
2017-05-15 02:59:54 -04:00
Nathan Ridge
619da2a170 Bug 408470 - Add partial support for C++14 return type deduction
Out-of-line definitions where the definition is in a different file
than the declaration are not supported yet.

Change-Id: I3631bdb3e08abe2aab266065c7858c66170fb570
2017-05-14 13:48:36 -04:00
Nathan Ridge
fb847a82ce Bug 408470 - Introduce SemanticTestBase to serve as a common base class for AST and index tests
This allows reusing more code, such as CommonCPPTypes and
BindingAssertionHelper, between the two test suites.

Change-Id: I8203191fc3a10565add0ae1bd25c98f743cd1e64
2017-05-14 02:08:24 -04:00
Nathan Ridge
4e760d8690 Bug 408470 - Define some more common C++ types in AST2TestBase
Change-Id: I794439a2d68f7b744afdef80b1f92a09996f95d2
2017-05-14 01:41:52 -04:00
Nathan Ridge
08ea44c0af Bug 408470 - Move the variable template tests into the new cxx14 subpackage
Change-Id: I45a598d6cf920860a6f08d25e8921cbf310734a8
2017-05-14 00:29:08 -04:00
Nathan Ridge
1f2198a8bf Bug 408470 - Move C++14 constexpr tests into cxx14.constexpr subpackage
Change-Id: If9ac633020e568a0e4218a2ad358ee21eb1cffd7
2017-05-13 23:43:31 -04:00
Nathan Ridge
f9e4f1077a Bug 408470 - Add a missing message for a problem type
Change-Id: Ic2d6db5d961bbfe403edc61113c1ffacf30228f3
2017-05-13 23:13:51 -04:00
Nathan Ridge
88e19bfee6 Bug 408470 - Introduce static ProblemType instances for more problem types
Change-Id: Ib025e61aaf70f68bfe655527add2c441b9f647d7
2017-05-13 14:29:38 -04:00
Nathan Ridge
882f8e95a9 Bug 516291 - Improve propagattion of instantiate failures through EvalFunctionCall and EvalComma
Change-Id: Ieafe15a88c3838d15aaaf9043199ae2caf1c31db
2017-05-12 23:28:30 -04:00
Nathan Ridge
9b809b0ad7 Bug 516291 - If a function call has dependent arguments, resolve the function name as a CPPDeferredFunction even if there is only one viable candidate
This ensures that, when instantiating the function call, we get into
EvalFunctionSet.resolveFunction(), and check that the function is
actually callable with the instantiated argument types, and error out
if it isn't (which is important for SFINAE purposes).

Change-Id: Ia01755bc1a830fded1f61658f4beef875cc0b029
2017-05-12 23:28:11 -04:00
Nathan Ridge
9c0d9fec08 Bug 516290 - Correct computation of decltype(expr) for dependent expressions
Change-Id: Iabc49563e85e8649a94a77210eb066253925ea3c
2017-05-12 22:49:23 -04:00
Jonah Graham
b564575d51 Bug 314428: speedup build console - limit UI thread
Re-wrote the BuildConsolePartitioner to do as many operations as possible
in the non-UI thread and only to update the UI thread in batches.

Key changes:
- The UI thread "pulls" changes when it is ready, this means that many
  lines of output are updated in one go. This compares to the "push" that
  the non-UI thread used to do. The previous code pushed a change to the
  UI thread on every line of build output.
- The limit on console size is now soft, rather than recalcuating the
  entire document on each line (i.e. add line at bottom, remove line
  from top) the document is truncated to the limit size as it reaches
  2x the limit size. This calculation is also done more effeciently by
  tracking the number of lines each partition contains rather than
  recalculating them.
- Folded most of the implementation of BuildConsolePartition into
  BuildConsolePartitioner. This is because the partioner has a global
  view and is much more efficient at determining if adjacent partitions
  can be combined. In addition, rather than having the complexity of
  splitting partitions that were too long, instead make sure we don't
  create such partitions in the first place.

Change-Id: I47543db3fef754e779684cae44d3316982f1bc0a
2017-05-12 11:51:08 -04:00
Jonah Graham
f14ee6a61d Bug 314428: speedup build console - better handle duplicate markers
This changes the algorithm used to handle duplicate markers when build
is running.

Change-Id: I8d8b61edd80ae4da4c0e0eea3806b0efecb570e0
2017-05-12 11:50:08 -04:00
Nathan Ridge
b10156e36d Bug 516284 - Binding of const class rvalue to T& parameter
Change-Id: Ieb7293c20ba78611097a3d751be16fddb25f3627
2017-05-11 20:48:15 -04:00