1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 06:32:10 +02:00
Commit graph

14446 commits

Author SHA1 Message Date
Jonah Graham
5e5373982f Cosmetics.
Change-Id: I7b563198e5b0b5eb58d3d270b134afa62e9b0dc5
2022-04-17 15:05:08 -04:00
Jeff Johnston
7991361258 Bug 579668 - Regression in Docker header file support
- fix CBuildConfiguration.getScannerInformation() method to look to
  see if the toolchain is a ContainerGCCToolChain but the include paths
  have nothing pointing to the special HEADERS directory for copying
  over Image headers to the host in which case do a fix-up by
  calculating the scanner info again and massaging the include paths
  as needed

Change-Id: If6f76ef6ffb1bc5958377c565e4847989d5de0db
2022-04-14 20:47:32 -04:00
Torbjörn Svensson
f5446675ec Bug 579666: Mark fileds and internal class for removal
This is the first step towards fixing the dark theme on windows.
In order to fix the AbstractPage class, an API breakage is required and
this will pave the way to let any sub-classers know that things are
about to change. From my point of view, the marked fields and the
InternalTab class should never have been part of the API as they are
internal to the AbstractPage class that contains proper API methods.

Contributed by STMicroelectronics

Change-Id: Icfea8c963727718d4dc99e8df916674384dcb532
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-14 05:42:04 -04:00
Jonah Graham
7400e22b1f [releng] Update all legal files with update_legal_files.sh
The about.html was changed as per
https://gitlab.eclipse.org/eclipsefdn/it/websites/eclipse.org/-/issues/90

Change-Id: Ied879279460a8fc610630fc26794ab3df9eae39f
2022-04-13 13:42:35 -04:00
Jonah Graham
1f0451c163 [releng] Prepare for 10.7.0 with version bumps
All the about.html files are updated, so every bundle that hasn't
already had a bump in 10.7 needs one now

Change-Id: I6143d2fbe77a58a3a6d2f4a226d96087117f9ac1
2022-04-13 13:15:06 -04:00
Jonah Graham
2402a0101e Bug 579669: Ignore .settings in some tests
In Eclipse 4.24 .settings is created all the time for new projects,
for CDT test projects which have the root of the project being the source
root this means that .settings is now returned in various places.

This patch removes .settings from results before checking results against
expected results.

Change-Id: Id02e9b8f25b109ed289d22ffb526ecceb747d4f7
2022-04-12 14:30:37 -04:00
Jonah Graham
e954ff6fe1 Bug 579669: Remove testProject in finally block
These tests were not cleaning up properly if they failed.

Change-Id: Ic649335dd439a1cc29dd2784b203158e49d4bb1c
2022-04-12 13:41:36 -04:00
Torbjörn Svensson
c5f0f85be0 Avoid NPE and redrawing disposed widget
Contributed by STMicroelectronics

Change-Id: I753844ff035bc6b3511c1e283e80e37bd547b6e7
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-12 03:29:30 -04:00
Jonah Graham
5c4d54df1a [releng] Update comparator repo to 10.6.0
Change-Id: Ie4e5bc90a41bb6e47cd34afb42126e1934fcc042
2022-04-10 20:55:36 -04:00
Jonah Graham
e8d924bb9a [releng] Bump versions for 10.7.0
Change-Id: Ibada1ef26f47f4238ae64f53fb67a73125534347
2022-04-10 20:55:36 -04:00
Torbjörn Svensson
ca92f0243e Added dark theme colors for build console and editor
Editor supported dark theme except for inactive code blocks like
  #ifdef
  ...
  #endif

Contributed by STMicroelectronics

Change-Id: I192d76136946a6e4dceaba99a31eb42f7df4c584
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-06 12:23:55 +02:00
Jonah Graham
db4bc74334 Bug 579261: Fix formatter exception when formatter comment tags aren't used
Change-Id: Ia704bfd9bd6ff0e171187b78aa6b693a1921902e
2022-03-14 17:05:45 -04:00
Torbjörn Svensson
66f3c6b08d Bug 579039: Limit SOURCE_DATE_EPOCH to fit 32bit unsigned int
The impementation in GCC allows a value up to 253402300799 that
corresponds to "Dec 31 9999 23:59:59 UTC". Apparently, this is due
to some limit of __DATE__ and __TIME__ within the preprocessor.
Regardless, as the reporter claims to have problem with values
outside the range of a 32bit unsigned integer, lets use
"(1 << 32) - 1" as a limit.

Contributed by STMicroelectronics

Change-Id: Ifa7995cd9edb460d4ad6544b5231eef88d7e39a0
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-03-10 01:43:40 -05:00
Jonah Graham
0ae896b0f1 Bug 577952: Close pathEntryStore to fix listener leak
CConfigBasedDescriptorManager.addDescriptorListener is being called
repeatedly, but the listeners are never removed due to the missing
close.

Change-Id: Ib1b92139a0090ffcdd662aa7b79d5de94a883cb1
2022-03-09 13:49:16 -05:00
Jonah Graham
687503911b Dispose of icons in managed build settings pages
In Bug 531915 the code was rewritten to use imageDescriptorFromBundle,
which lead to url being null all the time. This meant only the last
loaded image was being disposed properly.

There fix to Bug 531915 had another side effect - it changed the caching
of icons from the Image to the ImageDescriptor.

As it has been ~4 years without the image being cached, I suppose it
is ok to leave it not cached and instead I store the images to be
disposed of in a list.

Change-Id: Id3427ebfc8720da52132bd8f11714bba1e2cd0bf
2022-02-25 11:39:22 -05:00
Jonah Graham
4c87198224 Bug 573730: Turn on ConPTY as default PTY in Windows
Change-Id: I27b2719c8fc5853792eba403fd5f5ca116dd7156
2022-02-23 14:38:57 -05:00
Jonah Graham
d4a17751d5 Bug 578220: Call the UI for saving log file "Save"
previously the button was called "Copy Build Log" because under the
hood the file was copied from the internal storage location. But users
see this as a "Save" so call it that.

Change-Id: I46fa18e87c47884d54ba8ca16d20ef68c5095663
2022-01-14 12:58:33 -05:00
Jonah Graham
a7746e4e9e Bug 578219: Make the FileDialog in Copy Build Log a Save dialog
Prior to this it was SWT.NONE which is now being interpreted as
an Open dialog which means an existing file must be selected.

In some conditions the SWT.NONE would allow a new file to be entered
that didn't exist already, so this did not affect everyone.

With this change a normal Save dialog is presented, and the OS confirm
overwrite is enabled.

Change-Id: Iea8c4211f8d9fe0c2f4d423780d91a62f6d3edab
2022-01-14 12:58:33 -05:00
Jonah Graham
51f7c4b4e4 [releng] Prepare for CDT 10.6.0
Change-Id: I78808c5292b75a3a4b651b8fda6a8f1814702571
2022-01-14 12:58:33 -05:00
Jonah Graham
640dc53892 [releng] Bump version numbers for all modified projects
Change-Id: I0d78c550512d8e63374bf1bc3a53f80e5d387e31
2022-01-12 18:57:12 -05:00
Jonah Graham
431e5ffd23 [releng] Bump end year on copyright on all modified features
Change-Id: I0d35eb6514d87fb6dcba0a284f58963b80861d51
2022-01-12 18:57:12 -05:00
Jonah Graham
dbd7558f17 [releng] Bump to CDT version 10.6.0
Change-Id: I28629cdfb0906ce7f1b33a88cbbd55521afc8f6b
2022-01-12 14:07:45 -05:00
Torbjörn Svensson
7a237aaa0e Fix usage or reserved symbols (<>&) in javadoc
Contributed by STMicroelectronics

Change-Id: Ifdf90e316d7537848bea8253973864f070b19b1c
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-12-05 18:11:29 +01:00
Jonah Graham
13cdd8ada7 Bug 576533: Add support for Mac M1
-framework JavaVM is no longer needed for a while and in
latest Xcode is removed as an option

x86 on macOS is no longer supported by recent Xcode, so drop it
from CDT. x86 hasn't been supported in Platform for a while, so
it wasn't actually usable.

Change-Id: I149722b168fe9819ee334d4afd25ae624b1664c5
2021-11-15 15:32:29 -05:00
Jonah Graham
fa8a6279d2 Bug 577074: Fix i18n on import/export language settings
Side effect is that the indentation in the transformer now
works properly, so the extra newlines inserted everywhere
can be removed.

This change was done by changing the output to an OutputStream
instead of a Writer so that the XML handler could set the
encoding to match what was in the settings, i.e.:
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

The non-translated language IDs are used in preference to the
translated names when importing. The export now puts that ID
(when available) in the output file. The ID is available on
normal user files (C, ASM, C++) and not on object files. The
object files probably don't have languages settings that are
exported, but this code does not exclude them from being exported.

Change-Id: I46de004bb8c6a0ca05210487a5d33390d397c720
2021-11-09 11:01:13 -05:00
Jonah Graham
c12f9e28c0 [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: I6f57e19044facd65a9214204efc9c8b2c2201590
2021-10-25 18:56:15 -04:00
Jonah Graham
c13962fcd7 [releng] Update to latest dependencies (2021-12 M2)
This includes requiring older version Hamcrest as the org.hamcrest
bundle was recently update in Orbit to a new major version that
isn't compatible.

Change-Id: I7cb23f0be058d1404b93b1a76cbfe8182a3ded14
2021-10-25 18:56:15 -04:00
Torbjörn Svensson
994ea12856 Bug 574131: Make the graceful exit time configurable
Contributed by STMicroelectronics

Change-Id: I8ca32b2440ef1cc81bf5b9ddd70b6b4222a29261
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-25 21:59:02 +02:00
Torbjörn Svensson
b3be425429 Add convenient method to raise a custom signal
Contributed by STMicroelectronics

Change-Id: Ie9c6c7d87e1efc8e13861c3551c11a1da0be2695
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-20 13:49:48 -04:00
Torbjörn Svensson
e4c46094b1 Ensure constants are constant
Contributed by STMicroelectronics

Change-Id: I3ceecdba0bcf5715ce0c4f683fd3fdb9b86ad8b3
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-20 13:49:48 -04:00
GeraldMit
e8b257c645 Bug 576639 - [Accessibility][A11y] reduce JAWS table read while in table
correct previous fixes Bug 575946, Bug 575949, Bug 576090
to use only parent for accessibility add of table description.

Change-Id: Idbc39f13c06f27ed106839d922c328f3bce76d16
Signed-off-by: GeraldMit <Gerald.Mitchell@ibm.com>
2021-10-19 14:53:43 -04:00
Torbjörn SVENSSON
4a7bd0d1b4 Bug 574131: Do not concurrently call Spawner#destroy()
As the Object#wait() voids the synchronization, more threads can call
destroy() before the Reaper thread has identified that the process
exited or the timeout occured.
The change ensures that only one call actually raises the signal while
the others are NOP.

Contributed by STMicroelectronics

Change-Id: I64722b17138582a76bb9cf604a6b0c14685f1720
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-18 20:49:49 +02:00
Torbjörn Svensson
cd73469b01 Bug 574131: SIGTERM should let app do a gracefully exit on win
Let the process have some time to do a graceful exit with the signal
SIGTERM. If the process is still alive after 1s, raise the SIGKILL
signal and hammer down the process.
The 1s is aligned on all platforms and handled in JAVA.

Contributed by STMicroelectronics

Change-Id: Iff2f7727c1ac37b190c60a01774f106638eeeeaa
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-18 07:06:22 -04:00
Jonah Graham
ad4d444823 [releng] Prepare for CDT 10.5.0
Change-Id: I9b72edf4a0ff0771a147934dd7f1c92ba1ee799a
2021-09-26 20:23:17 -04:00
GeraldMit
174453ba91 Bug 576090: Fix Preference description for preference
The description for Advanced Content Assist Preference can not be read
out.

The description can  not be a stand-alone label when working with JAWS,
and titles on the page should have additional accessibility listener
values for Advanced Content Assist Preference can not be read out.

Change-Id: Ic7715676848ecefb8cf111800a2847fe6e3e30aa
Reported-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
Signed-off-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
2021-09-20 00:10:01 -04:00
Gerald Mitchell
525f801293 Bug 575949: The section title cannot be read out
The section title "Elements" can not be read out from Syntax Coloring
Preferences page. "Preview" could also not be read out.

Change-Id: Ia8e8261739100808eda7bccb28b4c2fca5d59210
Reported-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
Signed-off-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
2021-09-16 00:45:14 -04:00
GeraldMit
b7cc884e3d Bug 575946: Fix accessibility on C element Filter
The description for filter text on C element Filter
dialog could not be read out.

Change-Id: I7c4884cca2c1fff3d872f4775e8529e4428c86ac
Reported-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
Signed-off-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
2021-09-15 10:41:56 -04:00
Simeon Andreev
c410447f12 Bug 319668 - NPE in indexer CCorePlugin.getCProjectDescription
This change ensures code in SelectionListenerWithASTManager does not
attempt to compute an AST if the workbench is shutting down. This can
result in a NPE in the CDT core plug-in.

Change-Id: I3a0f921b3327bab9eab7169591f217c4f4766a70
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
2021-08-26 17:35:17 -04:00
Marc-Andre Laperle
383211b9c7 Bug 574317 - Per-project Doxygen options are ignored
Pass along ICProject to edit strategies so that they can retrieve
per-project settings.

Change-Id: I87699917114a10439a820f9d6ec9d53f350ea50f
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2021-08-08 21:24:43 -04:00
Mat Booth
b681480abb Bug 574247 - Same binary file can appear multiple times
A race condition could sometimes yield duplicate entries in
the binary container due to interleaving of calls to
includesChild() and addChild()

Add a method to CElementInfo that can perform the check and
add the child atomically, by synchronising on the list of
children for the duration of the two operations.

Change-Id: I1ef1cddf3aad4934ec63cb433ebae34a77b69739
Signed-off-by: Mat Booth <mat.booth@gmail.com>
2021-07-25 11:03:01 +01:00
Jonah Graham
43c285a7ef Bug 574247: Test for order of elements in outline view
Change-Id: I75593befecdc19ddee137830a457c8dbfb486a03
2021-07-24 12:18:22 -04:00
Jonah Graham
b2c33dfb13 Bug 546981: Treat pragma region like pragma mark in outline view
Treats #pragma region and #pragma endregion similarly to how
#pragma mark is treated in outline view. With
region and endregion they are always surrounded by
divider lines if there is text after region/endregion, else just
a divider line is inserted.

Change-Id: Idb8bebe94363731e59412a7f31af3b54d53a2c8e
2021-07-11 20:13:46 -04:00
Jonah Graham
b6a8f778f9 Bug 546981: Add #pragma mark to Outline view
Adds #pragma mark support to outline view. With mark, dashes
(-) cause divider lines before/after the mark label.

When outline is sorted, the divider lines are omitted (lest they appear
all grouped at the bottom of the view).

The system property org.eclipse.cdt.core.model_include_pragmas can
be set to false in case there are side effects of introducing IPragma
elements to the CModel.

This change applies to the Outline view and the Quick Outline (Ctrl-o)
information popup.

Icons contributed by Greg Willits.

Also-by: Greg Willits <gwillits@marway.com>
Change-Id: I072ef26fb14e21b5453f909bade391a3f0521823
2021-07-11 20:13:33 -04:00
Jonah Graham
c254b95cd6 Bug 546981: Process all preprocessor items in model in one pass
The previous code iterated through the preprocessor statements
numerous times, this code has the same logic, but iterates through
the preprocessor statements less often.

Change-Id: If4fcf0a605aabff1f615811f8f528ea66a461136
2021-07-11 16:03:13 -04:00
Marc-Andre Laperle
1278baf052 Bug 464624 - C++ Parser fails with Syntax error on function declaration with __declspec and non-native type
Allow __declspec after identifier in decl-specifier.
See https://docs.microsoft.com/en-us/cpp/cpp/declspec

Change-Id: Ifdaeb649abcfa1b7391e2799072b1afbc07a16a1
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2021-07-07 12:31:53 -04:00
Marc-Andre Laperle
3b8fcb62e7 Bug 574578 - Syntax error when using __declspec as type-id specifier
I initially applied a fix only to alias declarations by parsing it
before the type-id but to my surprise __declspec works more widely as a
type-id specifier.

Change-Id: I50217e2453f888207b73fc3f4c7ff1ea67bf5937
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2021-07-07 01:57:06 -04:00
Marc-Andre Laperle
0748cd24c6 Bug 573764 - Ambiguous conversion on numeric type
Starting with C++11, a null pointer constant has to be specifically an
integer literal of 0 and not any constant expression. Before this
change, an expression like (0 & 1) would wrongly being considered a null
pointer constant. It also means it could implicitly convert to a pointer
type (like int *) and lead to problems during function resolution, like
ambiguity.

This change corrects the behavior for C++11 by tracking whether the
integer type (basic type) came from a literal expression so that we can
add this additional constraint when checking for a null pointer
constant. Because types are sometimes returned directly when evaluating
different kinds of non-literal expressions that contain literal
expressions, we have to be careful that we remove the flag that tracks
"from literal expression".

Unfortunately, the semantic code does not track the active C++ version
which means the behavior for pre-C++11 will be impacted. Tracking the
active C++ version would not be trivial and at least the new behavior is
more future-proof.

Change-Id: Ied625e96e70390872e36ab5bb4dc238d75809d2e
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2021-06-26 14:09:08 -04:00
Marc-Andre Laperle
987d11ef42 Bug 574333 - Per-project Doxygen options are not flushed until saved a second time
When the options are applied in performApply, the call
DocCommentOwnerManager.setCommentOwner causes to set the
CProjectDescription, which causes UserDefinedEnvironmentSupplier to
flush cdt.core preferences. Then DocCommentOwnerArea.apply populates the
preference storage, but the preferences are not flushed after that
therefore the new options values only exist in memory.

Swapping the calls of DocCommentOwnerManager.setCommentOwner and
DocCommentOwnerArea.apply works but it makes no sense for the flushing
of Documentation options to depend on UserDefinedEnvironmentSupplier
flushing the preferences - it would work by a lucky accident.

A clean option would be to go through the preference's page
IWorkingCopyManager but this would involve a lot of more risky changes
in the DocOwner/Doxygen code and a vast majority of CDT code does not do
that.

Instead, this change explicitly calls CCoreInternals.savePreferences
which flushes the preferences, just like Indexer options does.

Change-Id: Id9a57cde47794f57f26ae295ec01eeb1df9aa120
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2021-06-20 00:38:08 -04:00
Jonah Graham
1610ed7b29 Cosmetics.
Remove trailing whitespace.

Change-Id: I6395b447f427b75c851d8cce2676fb14b3e1402b
2021-06-14 22:22:58 -04:00
Jonah Graham
ffc4272acb Fix NPE on projects which aren't full CDT projects
Change-Id: I4b611fe032eca9c5657d493fc60d6451bd6ddf7d
2021-06-14 22:20:28 -04:00