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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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
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>
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>
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>
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>
Some of these commands work "by accident" on Windows, but there are lots
of special/corner cases that may not. On Linux they almost certainly
never do the correct thing when spaces are in arguments.
(follow up for 1557c2c4f5)
Change-Id: I126d60423b0e4ff6d9d240d7de2c1a4905763415
When starting on older versions of Windows ensure that WinPTY continues
to be used by catching all the types of exceptions that may indicate
that ConPTY is not available. This change catches all Throwables as
we want to know about all RuntimeExceptions and Errors
Change-Id: I7524d9286efe9296f1bb44311c4a3be1e5195c14
Some of these commands work "by accident" on Windows, but there are lots
of special/corner cases that may not. On Linux they almost certainly
never do the correct thing when spaces are in arguments.
Change-Id: Idce714da9c1d6ac7a67dc174d5b30bf619534c53
There are lots of bugs in WinPTY, while upgrading WinPTY would
resolve some of them, there are others that are unresolvable. See
https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/
for a backgrounder on the general subject.
In this first version ConPTY won't be enabled by default, it requires
system property
org.eclipse.cdt.core.conpty_enabled=true
to be set. i.e. start Eclipse with:
-vmargs -Dorg.eclipse.cdt.core.conpty_enabled=true
In a future version the default will change to on if available,
so to force it off use:
org.eclipse.cdt.core.conpty_enabled=false
Change-Id: Ib2df0095027c23f20daa6aa044d9e5f0b0443164
A GCC information message starting with 'in constexpr expansion'
was incorrectly parsed as an error.
Change-Id: If6142f8486e97c088315060c826d59e61566692b
Signed-off-by: Stephan Oostveen <stephan.oostveen@nextlevel-electronics.com>
SWT.COLOR_GRAY is gray in dark or light mode, but COLOR_TEXT_DISABLED_BACKGROUND
changes with the theme so always leaves the text legible.
Change-Id: I3d0c2d1a19baa618ef08c5c40e35fbdda11691e2
The select can be called twice when the expansion first opens,
so clear out the old selection before processing the new one.
If this isn't done, the oldStyles gets set to the highlighted
version on the second call, which prevents deselect from
removing the highlight.
Change-Id: Ibc8ae45d4164d380b7946cd492c29f33c9fac981