Switch to CTabFolder/CTabItem for newui.
This changeset is a breaking change but on a review of existing
adopters/extenders of CDT no one is actually accessing these fields.
Change-Id: Ic1ef0f242c1d2932726f3a6d4c9df9558312764a
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
Also-by: Jonah Graham <jonah@kichwacoders.com>
Adds constexpr evaluation for some additional compiler builtins. This is
probably the last lot few builtins that can reasonably be
constexpr-evaluated in CDT.
gcc linker outputs "removing unused section" to stderr when the option "--print-gc-sections" is used. That is fine.
Eclipse CDT reports all these lines as errors however and the build seems to have failed, which is wrong.
The was a bug report Bug 539927: Do not mark "Removing unused section" lines as errors and a fix
To fix this bug a change was made 2020-12-02 05322656c6
-CDTGNULinkerErrorParser.regex.LdMode=(.*[/\\\\])?ld(\\.exe)?: (mode .*)
+CDTGNULinkerErrorParser.regex.ldInfo=(.*[/\\\\])?ld(\\.exe)?: ((mode|Removing unused section) .*)
That does however not solve problem entirely, as the output of gcc linker is "removing", not "Removing", i.e. the word "removing" starts with a lower-case "r"
To fix that problem both R and r should be accepted.
After building a project and shuting down eclipse, the build console
will have a propertyChange event fired that will attempt to modify the
stream and background color that will trigger a use-after-dispose error
from SWT. This changeset ensures that the action is only taken on
non-disposed widgets.
Contributed by STMicroelectronics
Change-Id: I872c28da1b2fca7ec39f5b12d9d1ec398e559814
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
The class CommandLauncher holds an internal state of the process and
it's command line. To avoid corrupting the internal state, only allow
executing new commands if the previous command is finished.
Contributed by STMicroelectronics
Change-Id: If41816f6b642953776a4fea3df9f341a17712222
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
The root files in GitHub are a bit more prominent, so keep
that area clean and move this special ini to a subdir.
Change-Id: I12d95727e9dad29ebe4f50d47faa9e98753a52bc
java 17 is now the default, and that means that a new hash
is created by reproducible_build_wrapper.py due to the changed
path for includes to the Java 17 include directory.
Nothing else about the binaries has actually changed.
Change-Id: I36398b84cc5fe20cd1d0f58f52dfee4737e913f8
Switch from the standard Java ProcessBuilder to the CDT CommandLauncher
for new style core build projects.
The CommandLauncher uses a more sophiscated mechanism for watching the
spawned process allowing us to interrupt the process when the user hits
the stop button on the launchbar by properly listening to a monitor.
The change adds new API to CBuildCongifuration that takes a progress
monitor, and changes all the affected build configuration types to use
this new API.
Change-Id: I0c4225616ad8331c2cea28bcb502028455a8ea71
Provide constexpr evaluation for: __builtin_ctz, __builtin_popcount,
__builtin_parity, __builtin_abs, and the variants which take a long int
or long long int.
Change-Id: I6088e2d41a161059ce0a64443a1d1126952ff905
On Windows, the TabFolder and TabItem classes does not follow the
themeing in Eclipse. As a result, the tab selectors will be drawn with
the light theme while the rest of the Eclipse UI is in dark theme.
Contributed by STMicroelectronics
Change-Id: I9169c9e01f8c9a3af7b6bb6d1c673a043735e7e9
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
jaxb is not standard anymore, and having a dependency just
for this simple method is overkill.
This is also a workaround for Bug 579817.
Change-Id: Ic0db6e595b8faa9323c26d29f8caedc0ac4b089e
This mostly is using diamond operator, but includes
adding missing @Override and organizing imports and
applying formatting improvements in the JDT formatter.
Change-Id: Id91cbff33b0a039cc5121945ffbc407ecba45866
The CDT Cleanup profile had a bunch of extra cleanups applied to it, this
prevents running the CDT cleanup profile manually to simulate running the
save actions on all Java files
Change-Id: Iad491e1258a4ba90d81d1457ea0f6779e3663e38
- 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
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>
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
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
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>
CConfigBasedDescriptorManager.addDescriptorListener is being called
repeatedly, but the listeners are never removed due to the missing
close.
Change-Id: Ib1b92139a0090ffcdd662aa7b79d5de94a883cb1
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
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
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
-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
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
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
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