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

14434 commits

Author SHA1 Message Date
William Riley
5250f5a07b
Replace org.freemarker with org.freemarker.freemarker (#547)
Also remove re-exports & add package imports

Fixes #546
2023-09-19 14:02:39 -04:00
ewaterlander
147332763b
Swapped arguments (#552)
Fixed swapped arguments in call of new ExtendedScannerInfo().
2023-09-15 17:28:31 -04:00
Jonah Graham
48804f5ed9
Mark unused API for deletion (#559)
Fixes #558
2023-09-15 17:27:33 -04:00
Jonah Graham
a92b90a4c8 Bump all bundles that are missing BREE in 11.3.0
Part of #551
2023-09-15 07:24:17 -04:00
Jonah Graham
3bcba2303d Prepare repo for CDT 11.4.0 development
Part of #548
2023-09-14 19:47:15 -04:00
Torbjorn-Svensson
1b2472faff
Ignore lines with "in function" and "In function" (#534)
In recent binutils version, the warning, for stubbed functions, is
properly printed and due to this correction, linking a project with
stubbed functions fails the build in headless build rather than
just printing the warnings.

Example:
.../arm-none-eabi/bin/ld.exe: .../libc.a(libc_a-writer.o): in function `_write_r':
(.text._write_r+0x10): warning: _write is not implemented and will always fail
...
12:02:52 Build Failed. 8 errors, 8 warnings. (took 6s.284ms)

The first line matches the error pattern (.*[/\\])?ld(\.exe)?: (.*)
that incorectly fails the build in headless mode (a single line matching
a pattern with severity "error" fails the build) when there are really
only warnings in the build log.

The problem can be obsered using the GCC 11 (and later) toolchain
builds with newlib for the arm-none-eabi target provided by Arm.

Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2023-09-01 11:25:45 -04:00
Jonah Graham
c7169b3186 Refactor XML file handling 2023-08-16 11:06:59 -04:00
Jonah Graham
220ba610d0 Fixup some API version errors
Follow up for #491
2023-08-15 20:00:56 -04:00
Jonah Graham
72c8186f50 Fix NPE when language entry is incomplete (as it is for LLVM) 2023-08-11 14:33:36 -04:00
Jeff Johnston
dd4a40a683
Fix meson build under Docker Tooling (#491)
* Fix meson build under Docker Tooling

- add new IToolChainConstants containing SECCOMP_UNCONFINED property constant
- add new setLauncher() method to CBuildConfiguration so that
  watchProcess() can be used for container building
- enhance ContainerCommandLauncher to discover specification of
  SECCOMP_UNDEFINED boolean option for execute() so "seccomp=undefined" can be specified
- fix ContainerCommandLauncherFactory.verifyIncludePaths() to only
  look at filtered includes that have been made absolute and to
  recognize matches when the prefix shows up in the loaded list
- add setting a property to ContainerGCCToolChain to set SECCOMP_UNCONFINED to true
  by default for the time-being
- when generating scannerinfo, specify "seccomp=unconfined"
- in ContainerGCCToolChain.startBuildProcess() remove extraneous
  banner statement and ensure that the build directory is created
- fixes #479
2023-08-10 16:36:05 -04:00
Gesa Hentschke
c2d0a6600b
[#484] Add extension point for custom icons of C/C++ source files (#485)
* [#484] Add extension point for custom icons of C/C++ source files

fixes #484
2023-08-03 17:42:23 +02:00
Jonah Graham
ac84c4ec86 Prepare repo for CDT 11.3.0 development
Some bundles are bumped because dev happened between 11.2 release and
this version bump. The most significant change that happened
was the bump in Tycho version which changed ECJ version and
hence some class files changed

Part of #420
2023-07-10 21:41:39 -04:00
John Dallaway
5be8661c9b Support DWARF v5 content form data 2023-07-07 21:07:17 +01:00
John Dallaway
54d5e1445c Support DWARF attribute form DW_FORM_implicit_const 2023-07-03 14:05:43 +01:00
ewaterlander
8a8b94bfbb
Postpone build container creation to build start. Fixes possible Eclipse freeze. (#433)
The creation of the build container for Core Build projects is
postponed to the start of the build process.

StandardBuildConfiguration getBuildContainer and setBuildContainer
have been cleaned up.

CBuildConfiguration creation is started via
CBuildConfigurationManager.getBuildConfiguration(IBuildConfiguration)
which holds a lock on the HashMap 'configs'. Creation of
StandardBuildConfiguration triggered, via applyProperties and
getBuildContainer(), a Folder.create which loops back to
CBuildConfigurationManager.getBuildConfiguration().
For detailed traces see https://github.com/eclipse-cdt/cdt/issues/424

Fixes #424
2023-06-26 13:37:23 -04:00
John Dallaway
44dc9d7cd7 Propagate exceptions in default binary file viewer 2023-06-26 18:30:53 +01:00
John Dallaway
9edc432c49 Eliminate memory leak in Default Binary File Editor 2023-06-17 06:07:53 +01:00
15knots
09728af3db
recognize source file extensions ".ccm", ".cxxm", and ".c++m" (#422)
* recognize source file extensions ".ccm", ".cxxm", and ".c++m"

cmake 3.27 release notes: The "CXX" language now treats source file
extensions ".ccm", ".cxxm", and ".c++m" as C++.

Signed-off-by: 15knots <11367029+15knots@users.noreply.github.com>
2023-06-16 20:56:51 +02:00
John Dallaway
74bcb42202 Provide hex dump of binary files in Default Binary File Editor 2023-06-13 17:17:17 +01:00
John Dallaway
d4c444eaeb Accommodate archive files in Default Binary File Editor 2023-06-12 15:50:37 +01:00
John Dallaway
0a8734fb12 Use PE64 class for machine type validation 2023-06-10 05:50:02 +01:00
John Dallaway
c91d0f7d4a Process ELF files without file suffix as binary content 2023-06-09 13:01:53 +01:00
jantje
501e7db9a1
Use ${ProjName} for workspace includes when possible
Use ${ProjName} for workspace includes referencing folders from
the project to better support project renames 

Inspired by the implementation for selecting includes in build
settings located in FileListControl.java 

Fixes #402

---------

Co-authored-by: jantje <eclipse@baeyens.it>
Co-authored-by: Jonah Graham <jonah@kichwacoders.com>
2023-06-07 19:24:31 -04:00
Alexander Fedorov
e00e7b0d0d
[#390] Fix API errors for Deduction Guides #390 (#391)
Update `@since` tag value from 8.1 to 8.2

Fixes https://github.com/eclipse-cdt/cdt/issues/390

Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2023-05-10 19:18:15 +03:00
Igor V. Kovalenko
b9655594c5 Amend class template instantiation test for bug 207840
Enabling C++17 deduction guides unconditionally causes one of the tests for
template instantiation to fail because one of instantiations can be done via
implicit deduction guide using default template arguments.
Test case is covering issue https://bugs.eclipse.org/bugs/show_bug.cgi?id=207840
and remaining erroneous cases are not affected.

Amend the test and comment about change since C++17.
2023-04-25 14:16:07 -04:00
Igor V. Kovalenko
a1c904fbc7 Make c++17 deduction guides unconditionally enabled 2023-04-25 14:16:07 -04:00
Igor V. Kovalenko
7d1ea08ae0 Add tests for c++17 deduction guides 2023-04-25 14:16:07 -04:00
Igor V. Kovalenko
f17675be16 Add basic support for c++17 deduction guides 2023-04-25 14:16:07 -04:00
Igor V. Kovalenko
aafb1d951a Recognize C++17 deduction guides feature test macro and pass it via TU 2023-04-25 14:16:07 -04:00
Jonah Graham
07b03aca10 Correct since tags on new API for c++20 character types
Fixup for ad15e0e804 / PR #342
2023-04-21 14:28:01 -04:00
John Dallaway
0d9fa844bf Set tool prefix for spawning GNU tool processes
Allows the GNU tool prefix to be specified by a CDT build variable.

Modifies the Cross GCC toolchain description to provide the GNU tool
prefix.

Part of #361
2023-04-17 20:24:56 +01:00
John Dallaway
fe65ab6287 Set environment for spawning GNU tool processes
Allows GNU tools to be found on the PATH defined by the build
configuration of the containing project.

Part of #361
2023-04-16 09:09:47 +01:00
John Dallaway
45a6e7957b Add GNU PE64 binary parser for MinGW GCC toolchain
Part of #361
2023-04-13 21:54:36 +01:00
Dillon Shaffer
eb237ebcba Allow symmetrical patterns for replace keys
Update getReplaceKeys to allow for patterns with matching start and end delimiters. Previously, `%%key%%` would throw and OutOfBoundsException instead of matching the key inside the delimiters.
2023-04-10 18:33:40 -04:00
Igor V. Kovalenko
ad15e0e804 Add c++20 character types 2023-04-10 18:33:16 -04:00
Gesa HENTSCHKE
d2a5a57d01 Support IEditorAssociationOverride (#341) 2023-04-04 14:36:04 -04:00
Igor V. Kovalenko
6cf3e03c35 Allow disambiguating class constructor definition followed by semicolon
In this case member variable declaration would be longer (including
trailing semicolon) but it is not valid since a class C shall not contain
a non-static member of class C.
2023-04-04 14:34:54 -04:00
Igor V. Kovalenko
f768aed976 Add __builtin_is_constant_evaluated 2023-04-04 14:15:56 -04:00
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
0dabaa15fb Handle null "DisplayName" in registry
Fixes #330
2023-03-20 09:21:57 -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
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