1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-19 15:05:36 +02:00
Commit graph

36066 commits

Author SHA1 Message Date
Igor V. Kovalenko
3fdea6e31a Allow binary operator templates 2023-04-04 14:12:24 -04:00
Igor V. Kovalenko
385b915257 Do not error out failing to resolve function in dependend context
Detect if function set failed to resolve while instantiating for template-id
which still has dependend arguments. Since resolution still can succeed later
via ADL when template-id is fully instantiated, do not error out immediately
and return original evaluation to allow trying to instantiate later.
2023-04-04 14:10:40 -04:00
Jonah Graham
47275c3884 Remove reference to Navigator view that has been removed
The long deprecated for removal navigator view has been removed
from upcoming Eclipse Platform.

I don't know if there are other locations in CDT that are affected,
but this change covers the compilation failure of the removal.

xref: https://github.com/eclipse-platform/eclipse.platform.ui/issues/644
2023-04-02 17:17:37 -04:00
Jonah Graham
5cc606f29e Update JRE in oomph to require >= 17
Fixes #350
2023-04-02 16:30:30 -04:00
Jonah Graham
2c30db5fd2 Update promoted files for now archived releases 2023-03-20 13:34:11 -04:00
Jonah Graham
f3b07b07a5 Add CDT 11.1.1 to p2 composite
Part of #332
2023-03-20 13:27:35 -04:00
Jonah Graham
bc0baaeb3d Run Workflows on all branches and PRs 2023-03-20 09:49:44 -04:00
Jonah Graham
bc0bffec8a CDT 11.1.1 Release Notes updates
Part of #332
2023-03-20 09:27:32 -04:00
Jonah Graham
0dabaa15fb Handle null "DisplayName" in registry
Fixes #330
2023-03-20 09:21:57 -04:00
Erwin Waterlander
a6a4bfcf3b Binary not found in Core Build Makefile project
Fixed the problem for Core Build Makefile projects that the output
binary could not be found during launching when the user set the
Build Output Location to "Build in project directory".
The project was only looking for binaries in the "build" folder.
2023-03-19 15:18:51 -04:00
Erwin Waterlander
2b297c4355 Issue #167 - Core Build Makefile project build output folder.
* Issue Issue #167 was partly solved by PR #192 (commit 7911ac8a2b).
  This change fixes the problem that after closing and opening a
  Makefile project the wrong build output location was used for the
  default Run configuration.
  The cause was that StandardBuildConfiguration.buildContainer was
  null after opening the project.

Fixes #167
2023-03-17 11:11:24 -04:00
Jonah Graham
5db69e7f16
Correct year of 11.2 expected release
Fixes 21e923ada7 (r104842615)
2023-03-17 10:53:30 -04:00
Erwin Waterlander
50bddd886a Changed the template application to Hello World.
This provides a more useful template when making a simple Makefile
project.

Pulled out of #314
2023-03-16 11:45:57 -04:00
Igor V. Kovalenko
1f700ff100 Return IntegralValue.UNKNOWN if recursed creating CompositeValue
Currently CDT would return empty CompositeValue if recursion creating for class
type is detected. If this happens inside CompositeValue.computeForFunctionCall()
and class type has fields, this leads to an attempt to assign a value to
non-existent index into empty values array.

Fix this by returning usual IntegralValue.UNKNOWN and additionally checking
whether created value is actually a CompositeValue instance.
2023-03-16 11:44:28 -04:00
Igor V. Kovalenko
74621c1048 Restore counting iterations in computeContainsDeclaration cycle detector
A follow-up change to bug 509898 missed actually incrementing the counter,
restore it now.

Fixes: 5462bac381 ("Bug 509898 - IndexFileSet.containsDeclaration is slow and is causing UI freezes")
2023-03-16 11:14:16 -04:00
Igor V. Kovalenko
0923e66b7b Handle invalid empty c++17 fold expression early
One of Qt sample snippets contain (...) as placeholder for actual user code.
Parsing that leads to invalid class cast because buildExpression would return
fold expression token marker and not a proper ICPPASTexpression.

Fix that by handling this error early as invalid fold expression.
2023-03-16 11:14:06 -04:00
Igor V. Kovalenko
6ea3d70456 Allow const-qualified arg for __atomic builtins which accept that 2023-03-16 11:08:24 -04:00
Igor V. Kovalenko
3b72e60406 Resolve typedef before checking if type is unsigned 2023-03-16 11:07:34 -04:00
Igor V. Kovalenko
f1c15e3a3d Fix assertion evaluating binary shifts of comparison op results
Currently CDT evaluates result type of comparison ops to the converted type of
their operands. When floating point values are compared and then the result is
binary shifted this trips an assertion trying to promote floating point value.

Fix this by limiting operand types of binary shifts to integral or unscoped
enumerations. Additionally fix return type of comparison op to be boolean value.
2023-03-16 11:07:34 -04:00
Igor V. Kovalenko
c69eed48e3 Defer resolving function set if target is deferred class or constructor 2023-03-16 11:07:12 -04:00
Erwin Waterlander
a89ce59df2 Improved getting resources from the gcc commandline.
The old method assumed all resources were at the end of the line,
optionally followed by option -o.
Now the complete line is scanned for valid resource file extensions.
2023-03-16 10:55:56 -04:00
Igor V. Kovalenko
56e5da5aa5 Allow expansion with typeids in fold expression 2023-03-16 10:55:23 -04:00
Igor V. Kovalenko
a5d51f2def Fix type of value-dependent fold expression evaluation 2023-03-16 10:55:23 -04:00
Igor V. Kovalenko
4b4daec3b4 Consider variable templates while determining size of parameter pack 2023-03-16 10:55:23 -04:00
Jonah Graham
65ac74fad7 Updates to N&N for CDT 11.1 release
Part of #202
2023-03-15 10:41:10 -04:00
Jonah Graham
0318087295 CDT 11.1 p2 composites on download.eclipse.org
Part of #202
2023-03-15 10:16:26 -04:00
Jonah Graham
c18d06e84d Upgrade to Tycho 3.0.3 (latest)
Part of #320
See also #308
2023-03-14 14:02:47 -04:00
Jonah Graham
8940a9b331 Bump bundle versions changed due to new Tycho
When we update Tycho we pull in a new version of ECJ which means
we can get some differences in the class files even though
there is no difference in the source. This commit bumps
all the bundles that are affected by this.

This is kept as a separate commit from the Tycho update
because if we need to revert the Tycho update we would still
need to bump all these bundles to make jgit timestamp qualifier
happy.

Part of #320
See also #308
2023-03-14 14:02:47 -04:00
Jonah Graham
b2666eb578 Update copyright year on all features
Part of #320
2023-03-13 21:00:55 -04:00
Jonah Graham
a786552a81 Update versions of maven plugins
Part of #320
2023-03-13 14:20:50 -04:00
Jonah Graham
21e923ada7 [releng] Prepare repo for CDT 11.2 development
Part of #320
2023-03-13 13:54:48 -04:00
Jonah Graham
6776f6a1ee Fix maven at 3.8.7
Until we update Tycho to 3.0.3+ we use the older Maven

Thanks to @ghentschke for figuring this out in
f7761791be

Fixes #308
2023-03-06 20:24:55 -05:00
Jonah Graham
d4c87cef72 Run workflows on CDT 11.1 branch 2023-03-06 14:11:48 -05:00
Jonah Graham
aa6547fe50 [releng] 2023-03 RC1 dependencies 2023-02-27 18:58:00 -05:00
Igor V. Kovalenko
57a32fc521 Scan for more template-id alternatives in expression, bug 497931
If parsing expression part for an alternative terminates with BacktrackException,
selectFallback() would short-circuit to the longest remaining variant. If that
happens to successfully complete parsing till the end of expression token
sequence, all of remaining variants are discarded, including the first found
alternative which was to parse identifier as template name.

This causes expression() to only consider one branchpoint out of all possible
variants. Allow it to find more variants by scanning through all branchpoints
looking for the alternative with leftmost parsed boundary.

This is probably still not ideal but fixes this common std library construct:

  template <typename T>
  inline constexpr bool X = true;
  template <typename T>
  inline constexpr bool Y = true;

  template<typename T> bool predicate() {
    return X<T> && Y<T>; // CDT finds this one: (X) < (T) > (&&Y<T>)
                         // Fix it to also consider (X<T>) && (Y<T>)
  }

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=497931
2023-02-27 13:59:08 -05:00
Igor V. Kovalenko
2d3ab58e0b Recognize more unary expression operators that may end template-id 2023-02-27 13:59:08 -05:00
Igor V. Kovalenko
b9e712f8d0 Test for binary expression with variable template args, bug 497931
Includes test case from comment 8 of bug 497931 with minor correction
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=497931
2023-02-27 13:59:08 -05:00
Lisa-Marie Saru
48b9774fbd Add null check for Disassembly view source
Disassembly view is expected to be populated with lines that are fetched from a given source file. There might be the case where instructions on what lines to append are wrong. This results in a null response that will propagate through the code leading to a NPE.

The current commit is proofing the code from NPE by:
- removing the source position of the lines that were not found within the given file
- null checking the source before becoming a key element in the code flow
- adding logging if expected lines are not found in the given file

Resolves: #287
2023-02-23 14:23:24 -05:00
Igor V. Kovalenko
40e3314e53 Fix typo in testTemplateIDAmbiguity_341747a testing 3rd expression 2023-02-23 13:13:40 -05:00
Igor V. Kovalenko
8f2342e842 Add more C++ builtins
Add __has_unique_object_representations
    __is_aggregate
    __is_assignable
    __is_nothrow_assignable
    __is_nothrow_constructible
2023-02-23 10:44:02 -05:00
Jonah Graham
ab721eed87 [releng] 2023-03 M3 dependencies 2023-02-21 15:08:38 -05:00
Jonah Graham
4bc687b83b Add .clangd file to simplify project sharing with non-CDT
In the example CMake project add a .clangd to enable pointing
clangd at the appropriate compilation database without having
to make a copy of it.
2023-02-16 12:12:56 -05:00
Jonah Graham
cb367f063e [releng] Make it easier to run cleanup scripts out of tree 2023-02-15 21:34:45 -05:00
Jonah Graham
78f437da94 [releng] Update to snapshots of LSP4E and TM4E 2023-02-15 20:40:18 -05:00
Erwin Waterlander
920f7d85a5 New API to custom parse #define lines from GCC during scanning
Option to override the matching of macro defines for the Core Build
GCC toolchain. This may be needed for custom compilers.

Also-by: Jonah Graham <jonah@kichwacoders.com>
2023-02-15 11:59:49 -05:00
Igor V. Kovalenko
590906a005 Fix codan return value check with typedef return and template function 2023-02-15 10:25:37 -05:00
Igor V. Kovalenko
58ab28dfd1 c++17 simplify fold expression parser and fix cast-expression on sides
Simplify parser by deferring fold-expression op token check until complete
expression can be examined.

Binary expression builder already produces a chain of BInaryOperator with
cast-expression objects. Use that to restrict valid fold-expression sequence
to the one containing only cast-expression on sides.
2023-02-14 09:53:26 -05:00
Igor V. Kovalenko
04c2da4678 More tests for c++17 fold expression 2023-02-14 09:53:26 -05:00
Igor V. Kovalenko
dc8313b304 Add another integer conversion test for issue 265
Bug: https://github.com/eclipse-cdt/cdt/issues/265
2023-02-13 10:35:57 -05:00
Igor V. Kovalenko
c0220469ad Fix type conversion in unary and binary expression evaluations. 2023-02-13 10:35:57 -05:00