1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-01 06:05:24 +02:00
Commit graph

1675 commits

Author SHA1 Message Date
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
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
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
29a51f0a61 Bug 531098: [C++17] Add support for switch with initializer
Change-Id: I046acd311cb99215798d2cbb8d30c2ef8ff2301d
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-02-15 00:24:06 -05:00
Hansruedi Patzen
a51f7c0659 Bug 522216, 527427: [C++17] Support for constexpr if and init-statements
Change-Id: Ia8195c66334edb107848901619e85fbfb5c78b18
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-02-13 17:50:48 -05:00
Jonah Graham
3afc828ae0 [releng] Bump version to 9.5.0
Change-Id: Ie342f02f7aae633f41a7ab7d39c21e056793a04a
2018-02-13 11:25:08 +00: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
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
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
1bf0dff19f Bug 526857 - Diagnose member access into pointer type in C code
Change-Id: Ib6fc6be443d59facacde3c290e0f974e5cbe6f1b
2017-11-14 19:47:39 -05:00
Nathan Ridge
301de3d40e Bug 522010 - Completion of non-type template parameter in ambiguous template argument
This works around the fact that the optimization introduced in bug 316704
inteferes with the mechanism for offering completions for both alternatives
in an ambiguous context.

Change-Id: Ibe14c1b4f2f9c9b3394d4635c87424a25fbd7a53
2017-11-13 13:22:26 -05:00
Michael Woski
4b3aea7e2a bug 525794 - NPE when invoking Open Declaration in "empty space"
Change-Id: I09a8670d113553c9046d829526149f869f4029a4
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-10-11 16:51:33 -04:00
Michael Woski
a7be934ba2 bug 525288 - resolve partial template specializations in
CSourceHover/OpenDeclaration

Change-Id: I61c06fc453499ddc2b1af73a8a69d4b648d473c3
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-10-05 17:58:21 -04:00
Nathan Ridge
c7e475e50e Bug 524338 - Make sure SemanticHighlightingTest.teardown() is called even if an exception was thrown during the test run
Change-Id: Idd19728c2e920d1bb8a590863c40d8646f916e1a
2017-10-03 22:25:02 -04:00
Nathan Ridge
20a88df65c Bug 399147 - Make 'Find References' find using-declarations
This is a revised approach for fixing this bug by giving using-
declarations implicit names for each delegate binding.

Change-Id: Ib9695c30258b8cb322ae1548ab022e357318135c
2017-10-02 02:44:02 -04:00
Nathan Ridge
e7c64e785b Bug 515417 - Improve handling of friend classes in PDOM
According to the standard, if a friend declaration is the only
declaration of a class type, then that class type is only
visible to argument-dependent lookup until another declaration
is encountered.

Bug 508338 attempted to implement this rule for PDOM class
types by not storing the class type in the index at all when
that first declaration is encountered. However, this meant
not recording the friend relationship either, which regressed
CompletionTests.testTypes_FriendClass (which was then disabled).

Bug 512932 implemented this rule for AST class types in a
different way, by keeping track of which names are visible to
ADL only.

This change reverts the fix for bug 508338, and extends the
approach from bug 512932 to PDOM class types. It also re-
enabled CompletionTests.testTypes_FriendClass which now passes.

Change-Id: I9a845fdba514339d86c0c3761a85cf34a17a5613
2017-10-02 01:59:31 -04:00
Michael Woski
709689b36e Bug 521016 - resolution error for nested alias template specialization
from
index


Change-Id: Ia36f096cc4765341a62d8c6139a487c714854e97
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-09-19 19:29:35 +02:00
Michael Woski
4e7354e1b0 Bug 456224 - CPPDeferredClassInstance not bound to partial template
specialization

Change-Id: I91482bf3f27becaea796a2c20875f97d92157644
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-09-16 09:08:21 +02:00
Michael Woski
c5b4657220 bug 521820 - don't filter alias template for CPPASTNamedTypeSpecifier
Change-Id: Ie66b148aabaf7f73bb639359c46d3d2d974c305f
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-09-12 19:46:34 -04:00
Nathan Ridge
84689e06fd Bug 520913 - Improvements to HeuristicResolver
- Have resolveUnknownBinding() run the full "resolve unknown type"
    logic if the binding is a type.

  - Handle EvalTypeId

Change-Id: I97946453755ddcf6f382195ddb9fc7dcb2672b68
2017-09-02 16:32:01 -04:00
Michael Woski
f546a833d6 Bug 520913 - hover / open declaration for decltype and typeof keywords
Change-Id: I15db25080aa476e3e0e6f9c6ce063e9bd1e2b2b4
Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-09-02 08:35:10 +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
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
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
c24e5d17b3 Bug 517954 - ClassCastException in CVisitor.findBindingsForContentAssist()
Change-Id: I0780b422ee727def577f78ed600f66a3ef4728d0
2017-06-08 02:57:45 -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
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
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
Nathan Ridge
60503efc58 Bug 512932 - Improve type checking of GCC builtins
Specifically, this patch:

  - Adds support for a new builtin, __builtin_assume_aligned.

  - Models __builtin_constant_p as a function instead of a macro.
    This inhibits constexpr evaluation, but allows for correct
    type-checking.

  - Diagnoses misuses of known builtins, instead of ingoring them like
    unknown builtins.

Change-Id: Ie5a26f2010dc5b19e6f32a8c6a1237fe88da393e
2017-05-08 23:04:17 -04:00
Marc-Andre Laperle
765960cec6 Bug 515545 - NPE when using Extract Function in the presence of auto variable
Change-Id: Id13e7afadbd3c92f1ab5a1448b9851f2d0c7d4df
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-04-20 15:29:44 -04:00
Jonah Graham
df26b628b7 Bug 515417: Disable intermittent testTypes_FriendClass
Manually testing this code shows it works, but this test fails
>50% of the time on Hudson causing significant numbers of
UNSTABLE builds.

Change-Id: Ie23e97e477d9b154ff33b38374bd257412241889
2017-04-19 13:09:26 +01:00
Jonah Graham
593dc77b6d Bug 515307: Run test order of magnitude faster
The break inserter test was running all display events for 200ms after
each simulated keystroke, but all sideeffects were happening synchronously
or being placed on the event queue synchronously. So speed-up is achieved
by running event queue until empty instead of effectively sleeping for
200ms

Change-Id: Icffd4d5526176e596cf8ce3ac716a4ae88d51159
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
2017-04-15 03:44:40 -04:00
Jonah Graham
501fa87934 Bug 515101: Control folding on doc and non-doc comments
Change-Id: I77b5cc2209d52877318182009b4de8e9491a85f7
2017-04-15 01:14:52 +01:00
Jonah Graham
18a6002f07 Bug 515304: profiles to parallelize testsuite
Change-Id: I02095334c2176bfb9a2968d91b6175af37123f5b
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
2017-04-14 20:03:36 -04:00
Jonah Graham
8592b892dc Bug 515178: Convert ui AutomatedSuite to new style
This change enables future tests to use new style annotations,
for example using @RunWith(Parameterized.class)

Change-Id: I4998e8b50fc7574c057b4f4a556205ce5a2497d6
2017-04-14 11:50:18 +01:00
Jonah Graham
f5aa2f3d65 Bug 515024: Fold adjacent single line doc comment
When the doxygen tool is on, adjacent single line doc comments were
not being folded together.

Change-Id: I88542047cba6c6d400a0b74a2637679cd122a920
2017-04-12 04:56:18 -04:00
Sergey Prigogin
4f70ea542a Bug 514197 - Organize Includes removes an include necessary for
instantiation of the body of a template function

Change-Id: I7a788f5ddcfae039acdec3a7985dcef364c5b8c0
2017-03-27 20:29:15 -04:00
Sergey Prigogin
151a4c05e5 Bug 512260 - Organize Includes should prefer .h and .hpp files to files
with other extensions

Change-Id: I115a3441d98d220f0d2b985b7d595971a146e8b6
2017-02-15 20:02:20 -08:00
Marc-Andre Laperle
0046099052 releng: Make use of Tycho POM-less functionality
This removes a lot of pom.xml from the source tree. This is using the
"POM-less" Tycho functionality.
See
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds

One advantage of this is that you do not need to update the version in
the pom.xml when you change it in the MANIFEST.MF because the pom.xml is
automatically generated. This also reduces a lot of the duplicated
information and pom.xml repetition.

- Maven 3.3 and up is required.
- Only eclipse-plugins and eclipse-features can be pom-less.
Repositories, target and others still have pom.xml.
- New parent poms are added because a parent is necessary directly one
level above the plug-in/feature that will have its pom generated
- Some test plug-ins had to be renamed .test -> .tests because it's
required so that it detects that it's a test plug-in
- Some suites were renamed so that they all use the same consistent name
"AutomatedIntegrationSuite"
- Profiles were added for the more common test configurations. They are
activated by the presence of simple .properties files that only serve to
activate the correct profile. The profiles:
  - One for UI tests (UI present and start in UI thread)
  - One for SWTBot tests (UI present and do not start in UI thread)
Other test plug-ins that are too different are kept intact and still
have
a pom.xml
- Fragments are kept intact since they all have different target
platform configurations

Change-Id: I9d73380eb766f547830c552daf08053a30b1845c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-13 23:19:56 -04:00
Nathan Ridge
2e1f2d475a Bug 511653 - Completion of inheriting constructor in using-declaration
Change-Id: If20d85bd6199e8f08152f3a5801bfb30b61d1d09
2017-02-12 00:04:11 -04:00
Nathan Ridge
e20812dc8b Bug 511522 - Navigation to type named by 'auto' in variable declaration
Change-Id: I3f6a35cb2498d7a9de31db7c283027fbc33fe688
2017-02-09 02:20:35 -05:00
Nathan Ridge
ec3ab3016d Bug 511331 - Do not color entire qualified name with problem highlighting
Change-Id: Ic712ec2e03bdf03f5ae97019fb9ae8994c5dec23
2017-02-09 02:20:35 -05:00
Sergey Prigogin
5e793c9b43 Revert "Bug 399147 - Make 'Find Reference' find using-declarations"
The change is invalid since a PDOMName can participate in only one
binding at a time through its BINDING_PREV_OFFSET/ BINDING_PREV_OFFSET
pointers.

This reverts commit 2706699543.

Change-Id: I1a4dd7b189b85a0d9c1cca2660d33ab7351a025c
2017-02-08 12:46:40 -08:00
Nathan Ridge
a44bef00d6 Bug 511274 - Compute correct replacement length for ParameterGuessingProposal
Change-Id: Ia2d6f10086f8d2a9ec922a3ff37eadc8ab94c9ed
2017-02-05 17:54:53 -04:00
Nathan Ridge
5a4e821cfb Bug 511048 - Offer completion proposals for nonstatic methods in a using-declaration
Change-Id: Ifb3aee10c354aebe606c439cdda1453b1cc29095
2017-02-03 00:47:57 -04:00
Nathan Ridge
1c60b844c5 Bug 509185 - Completion of constructor call with uniform initialization syntax
Change-Id: I3b0b3c5dd32ee09755e58cdb3dbc6af019ddd650
2017-01-29 17:15:00 -05:00
Nathan Ridge
a395647e48 Bug 510788 - Syntax coloring for template arguments in function template specialization
Previously, the arguments shared the color of the template-name.
Now, the arguments get their own colors.

Change-Id: I27af4146717a19095f1ac22188eedb8a71d9466c
2017-01-28 14:40:45 -05:00