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

13920 commits

Author SHA1 Message Date
Marc-Andre Laperle
4e16631f30 Bug 360919 - [MSVC] preprocessor symbol __STDC__ always defined
Move the __STDC__ macro to the scanner configuration extension, where we can
differentiate compiler type. Only add it when compiler type is not MSVC.
This will miss the case where MSVC is compiling in C mode and /Za is used,
then __STDC__ should be defined but this is a much less common case and would be
addressed likely outside scanner configuration.

See also
https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros

Change-Id: Icc5d3ef038fb468efe33802a04fc78fc1e5e583e
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2019-10-03 23:14:32 -04:00
Hannes Vogt
b52b03a9bc Revert "Bug 549362 - Aggregate init for union-like classes"
This reverts commit 9a6fd2ab97.

A proper implementation is needed to resolve bug 551610.

Change-Id: I1ea353ea905a33dc43ceda59dde93c15de2032cd
Signed-off-by: Hannes Vogt <hannes@havogt.de>
2019-10-02 07:51:46 +02:00
Hannes Vogt
944ec0e06e Bug 549367 - [C++17] Aggregate init of base
Implements http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0017r1.html:
Types with non-private, non-protected, non-virtual base classes can be
aggregate initialized.

Change-Id: Idad341d45d6aaf1d8c36691cf8d7bc7cd049e28b
Signed-off-by: Hannes Vogt <hannes@havogt.de>
2019-09-26 00:12:11 -04:00
Hannes Vogt
aee38fb062 Bug 549036 - Init Type(std::initializer_list) from Type{...}
Fix constructor calls of the form Type{...} to a constructor of
the form Type(std::initializer_list<T>).
So far only Type({...}) was supported.

Change-Id: I09e3b8c9c73c30e12c0c370a5c88885079a14746
Signed-off-by: Hannes Vogt <hannes@havogt.de>
2019-09-24 01:03:27 -04:00
Hannes Vogt
9a6fd2ab97 Bug 549362 - Aggregate init for union-like classes
ClassTypeHelper.getDeclaredFields() returns the first field of an anonymous union.

Change-Id: I3f33dcdd7b274ffac7aad0b80ea8c523bfd6e5f2
Signed-off-by: Hannes Vogt <hannes@havogt.de>
2019-09-22 20:14:24 -04:00
Jonah Graham
2cbf927a36 Bug 550076 - Use PE64 parser by default
Change-Id: I757c8ace43e79f1215ad0e817430e5ab90415401
2019-09-09 15:56:07 -04:00
Jonah Graham
a1febf0097 [releng] Require target platform bundles as minimum version
Without setting dependent plug-ins to minimum version to match the
target platform we are aiming for we can imply (and therefore let install)
CDT into older versions of Eclipse where CDT does not actually work.

This can be exposed in very odd ways, such as IllegalAccessError, when
platform has allowed API changes.

However, rather than update every single bundle in CDT, only the
o.e.cdt.core/ui bundles are being updated as this should achieve the
desired result without every other bundle needing to be touched.

See Bug 536448

Change-Id: Ifad2e0eef003b037ac332301120c26fe079a2e7f
2019-09-09 15:53:46 -04:00
Adrien Thierry
975ff2f0cc Bug 550076 - Added new parser for PE executables
This new parser is compatible with both 32 bit and 64 bit executables.

Change-Id: Ief9db7c6fcc10ea9e92d5ca58186eb50100d39f6
Signed-off-by: Adrien Thierry <adrien.thierry@spacecodesign.com>
2019-09-03 10:44:02 -04:00
Nathan Ridge
15dbbb8304 Bug 550397 - Fix a logic error in instantiateConversionTemplates()
Change-Id: If4cb26e3b392e65ffbcb53514db67c1065aa9c79
2019-08-31 21:24:35 -04:00
Doug Schaefer
b1f14709b8 Bug 550308 - Allow toolchain to specify part of the build config name.
This allows us to consider more than just the os and arch in the build
config names as required by the selected toolchain.

Change-Id: I3e1a52c756aca13fbe6c83a95f9a86bb2f286f1d
2019-08-22 16:44:13 -04:00
Alexander Kurtakov
a3938937f2 Convert new Runnable to lambda.
Take 2.

Change-Id: I060b0e41d8c6058db0c2ba88af8454b5517105b8
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-08-12 17:31:30 +03:00
Alexander Kurtakov
1e42e5f0e1 Convert new Runnable to lambda.
Change-Id: I8b827013a29802a3f3ae6400ddce8d8753eb6399
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-08-12 07:11:40 -04:00
Jeff Johnston
bb602d0fb3 Bug 515393 - Allow contribution to CDT CSS pref node
- add pseudo attributes to allow others to extend the
  org-eclipse-cdt-ui preference node

Change-Id: I79a7bbf80fee47988dc81e651375005640ceee1e
2019-08-09 15:00:50 -04:00
Nathan Ridge
f89c738b0b Bug 549508 - Avoid calling CPPBasicType.setAssociatedNumericalValue() without cloning the type
If we call it without cloning, we associate the value with every place
that has a reference to that CPPBasicType object, which could involve
completely unrelated entities.

Change-Id: Icff6c32d15ee6dbc55e363b2de9a166e03440f74
2019-08-09 02:54:06 -04:00
Alexander Kurtakov
c252113586 Replace ViewerSorter with ViewerComparator.
Change-Id: I3013723be25fef063f382456166f6e5a622316d3
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-08-09 08:50:29 +03:00
Alexander Kurtakov
c60a046bd1 Fix vararg warning with 4.13.
While touching the class:
* convert to lambda
* foreach conversion
* remove useless non-javadoc comments.

Change-Id: I3419be135c68829bb98827683bc8fe47c1e2940e
2019-08-08 15:56:36 +03:00
Thomas Corbat
acbceb04ee Bug 522200: [C++17] Add support for structured binding declarations
Adds support for structured bindings:
- Parser updated
- Semantics updated
- Tests for parser and bindings added

Change-Id: I1de7b760041ac4ce4601f1b5032fdb0a197212a1
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2019-08-05 09:00:35 +02:00
Marco Stornelli
af88842969 Bug 548902 - Fix exception in override methods refactoring
Change-Id: I2cde109ead8536c048bbe0a08083b36f924e4470
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-08-04 09:53:53 -04:00
Marco Stornelli
cd97ba6ced Bug 549653 - Fix wrapping for lambda expression
Change-Id: I5b879edbcda9c5c1fb0087891391612af2c47d09
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-07-30 13:53:07 +02:00
Doug Schaefer
b9359d5247 Fix up some problems found against the latest API baseline.
Change-Id: I5679b36166385b617a96ef8180bbd27ae002e900
2019-07-25 10:17:59 -04:00
Doug Schaefer
f96887cb35 Don't add null parser ids to the list of binary parsers.
This started happening when I added the ErrorBuildConfiguration which
returns a null id. This happens when you create a CMake project and
add a new launch target. Not totally sure how we got an error config
for that. Will investigate that later.

Change-Id: I1a4e7c528d2cee101a432d386ad6a7505b9983b6
2019-07-24 22:39:46 -04:00
Nathan Ridge
f78158904b Bug 549035 - Constructor with reference to initializer list
Change-Id: I83fd8d2453c36feb51bab80b5bf0943b68a1c97a
2019-07-23 00:49:32 -04:00
Marco Stornelli
4c0e7d9f68 Bug 545959 - Added checker for assignment operator
Change-Id: Ib48742cbc04679ab9e48349f4d68aea5657d38c9
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-07-23 00:47:39 -04:00
Marco Stornelli
04350fec0e Bug 376395 - Fix const methods with never join wrapped lines
When at the same time never join wrapped lines and next line
for opening function brace were selected, two tabs were added.

Change-Id: I90f606bf7f8b7bb7e83f3ae85d7cbb9cd0146b97
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-07-20 10:18:08 +02:00
Marc-Andre Laperle
cf9922cd2f Increase PDOM version to force rebuild for bug 549028
Change-Id: If18da2b194515c64351ed61b149593566afbc7d8
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2019-07-11 00:20:44 -04:00
Nathan Ridge
1ea6dac9af Bug 549078 - ArrayOutOfBoundsException in AbstractIndexerTask.IndexFileContent.merge()
Change-Id: I7ceacfc9c14e10bdecf7dda3c793a3ed26559bc2
2019-07-11 00:00:06 -04:00
Marc-Andre Laperle
76b7b64307 Bug 549028 - Fix missing getRecordSize() leading to index corruption
Because of the missing getRecordSize implementations, subclasses would
starting writing in records that were thought to be malloc'ed by
the parent but it was instead writing in other blocks, possible used
by other PDOM objects or free blocks to be used later and now not initialized
to 0.

This could lead to a few different exceptions like
- BufferUnderflowException(Chunk.getChars)
- CoreException: Corrupted database
- ArrayIndexOutOfBoundsException(AbstractIndexerTask$IndexFileContent.merge)
and possibly others.

Change-Id: Ie6d1986a22a9fb5f5e90cb741046d098ebf10a90
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2019-07-10 21:52:38 -04:00
Marco Stornelli
cd627b0a49 Bug 540001 - Added option to control comments formatting
Change-Id: I97b1813113f2c53a549b5be7d91ff834fce86bd5
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-07-07 09:37:23 +02:00
Doug Schaefer
b953649c09 Bug 548980 - Track launch target connects and add error builds
We need a way to alert the user that we are unable to find a toolchain
that maps to the current target. An ErrorBuildConfiguration is created
that simply prints out an error message at build time to handle this.
We then set one of these as the active build config in the tracker
with the appropriate message.

We also add a target listener so that when a target becomes OK_STATUS,
we run the tracker again to see if we have the right active build
config for that target. Some targets can only determine some of their
attributes when connected.

Hook up the IToolChain matches so we're using it in the toolchain
manager. This allows toolchains to do more complicated matching of
the properties.

Change-Id: Icaff85117e8147cd2793f2915fa75ce33673ab52
2019-07-05 10:43:56 -04:00
Marc-Andre Laperle
dee22911a5 MSVC: Add some type-traits supported by MSVC in the scanner configuration
Add existing type-traits that were implemented for GCC that are relevant to
MSVC. Some are missing but even with those parsing is improved with minimal
effort. For the LLVM codebase, I see it go from 0.46% unresolved names (16,668)
to 0.19% (6,950).
This is combined with another patch that adds temporary macro hacks.

Change-Id: I441dcfa4a986edef78b75c0d6db04b78fdbc97b3
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2019-07-04 00:51:22 -04:00
Nathan Ridge
96bbd4b7a8 Bug 548954 - Type transformation specifier in type-id
Change-Id: Ia8e0aaf7814cb104d296ae20cc5f43fd2ddd0792
2019-07-03 23:02:35 -04:00
Nathan Ridge
fe003c3b8f Bug 548700 - Handle prefix negative sign in FloatingPointValue.parseDouble()
While a literal expression itself will never be negative (the negative
sign is parsed as a unary operator), we also use FloatingPointValue to
represent results during value computations which can be negative.

Change-Id: I16227b2d19256066b094ae60476e124b4bcea14d
2019-07-02 15:20:42 -04:00
Marco Stornelli
35a1923321 Bug 467346 - Fix format structs/unions with attributes
Change-Id: I516c53978c7dea0191fc66d2820e1dbe5a664b48
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-07-01 17:57:48 +02:00
Nathan Ridge
451fa86e35 Bug 467346 - Retain attribute after struct key in C
Change-Id: I35a25bc635039c37b66d1f1e4037e943ffcb0d39
2019-06-29 02:44:22 -04:00
Felix Morgner
996d7193c0 Bug 488349 - Organize Includes removes an include necessary for a...
Add missing ; to test case.

Change-Id: If0224c4fc3580cbe527efe0d3a5739896a000d7e
Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2019-06-28 04:03:49 -04:00
Thomas Corbat
acb5ab5105 Bug 548712 - MinGW installation is not recognized
Recognize MinGW installations by checking the path of gcc.exe for
substring "ming".


Change-Id: Ibc6d4b03ef715036176e3aea6382dd986e4caae8
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
2019-06-28 02:15:49 -04:00
Hansruedi Patzen
9fe8978817 Bug 548512: Declarator formatting multiple keywords between pointers
Bugfix and removal of code duplication.

Change-Id: Id6a94c4cf59311f287b73e09019ddd323361fdc7
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2019-06-25 18:32:23 +02:00
Nathan Ridge
e435167a1a Bug 548482 - Return non-null from CPPFunctionProblem.getType()
This avoids an NPE as callers of IFunction.getType() do not expect it
to return null.

Change-Id: Ice90fa358c25007dffb41217c5a38d6c2f4a9d0e
2019-06-25 00:01:37 -04:00
Nathan Ridge
f65e93596e Bug 548482 - Add CPPClassSpecialization.RecursionResolvingConstructor
This avoids an ArrayStoreException in specializeMembers().

Change-Id: I88a92462ef1ace4e99a0b45a9ba5975c705dab67
2019-06-24 19:09:32 -04:00
Jonah Graham
6b435e1faf Bug 547763 - Bump patch version for previous change
Fixup for commit 141142dcab

Change-Id: I7be9eb1021eb611c7103aff7ea85fcdc3f5f1a87
2019-06-24 12:49:32 -04:00
Nathan Ridge
141142dcab Bug 547763 - Consistently handle IArrayType.getSize() returning a null IValue
Change-Id: I0246f1af5f3ed16f6ab03ff30dd9a0b27ee37df6
2019-06-21 14:44:18 -04:00
Mat Booth
d07a2c5bf6 Remove remnants of no longer supported arches
Change-Id: I9fb7caf1345dff8dd33964bf62f1bc1b513fa8b3
Signed-off-by: Mat Booth <mat.booth@redhat.com>
2019-06-19 16:10:21 -04:00
Jonah Graham
8e0ba58fa8 Bug 548334: Remove unused NLS message with no entry
This was causing:
Warning: NLS missing message: OverrideMethods_label in: org.eclipse.cdt.ui.refactoring.actions.Messages

Change-Id: I07e16ec58397fa268a06dcdba30dccfa1e66a93e
2019-06-17 07:59:54 -04:00
Marco Stornelli
0b9b9890ee Bug 548138 - Fix override method with implementation
Change-Id: Icbea4fe97e8f3b481ea187f905661c8adcc7cc06
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-06-11 15:15:29 -04:00
Jonah Graham
f3e8387a8e [releng] Bump version to 9.9.0
Change-Id: I6641e51a8bfdb44fa5c646d97debf2bf814c107a
2019-06-11 12:33:48 -04:00
Jonah Graham
9698af0fc6 [releng] Require target platform bundles as minimum version
Without setting dependent plug-ins to minimum version to match the
target platform we are aiming for we can imply (and therefore let install)
CDT into older versions of Eclipse where CDT does not actually work.

This can be exposed in very odd ways, such as IllegalAccessError, when
platform has allowed API changes.

However, rather than update every single bundle in CDT, only the
o.e.cdt.core/ui bundles are being updated as this should achieve the
desired result without every other bundle needing to be touched.

See Bug 536448

Change-Id: I1c8f102a9a750e40970197da3e6cd56d139492bc
2019-05-31 16:53:15 -04:00
Marco Stornelli
862e8222ea Bug 547684 - Fix format assignment with init list
Change-Id: I4fbdc1c65eb25688231e8020bbc3baa750d97be0
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-05-31 01:00:07 -04:00
Marco Stornelli
353315f84a Bug 303870 - Fix for base template classes
Methods weren't added if the virtual methods were in a base
template class.

Change-Id: I34b05eeb1e7dc5ce83944a642461eca521764967
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-05-30 01:07:38 -04:00
Marco Stornelli
a009b41021 Bug 268404 - Added options for label formatting
Change-Id: I192ede1c17d2b1929dcb6fb33158eb7628707598
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
2019-05-28 01:11:55 -04:00
Hannes Vogt
dc62eb218d Bug 547534 - Resolve TDEF in getFieldPosition()
and propagate a ProblemType in EvalCompositeAccess.

Change-Id: I20c580c681ea5916d2e1c249b96f41c9dc95082f
Signed-off-by: Hannes Vogt <hannes@havogt.de>
2019-05-27 20:56:02 +02:00