Adds constexpr evaluation for some additional compiler builtins. This is
probably the last lot few builtins that can reasonably be
constexpr-evaluated in CDT.
testAbstractBuiltinSpecsDetector_EnvChangesGlobal did not properly clean
up after itself, which caused
testAbstractBuiltinSpecsDetector_EnvChangesConfiguration_1,
testAbstractBuiltinSpecsDetector_EnvChangesConfiguration_2, and
testAbstractBuiltinSpecsDetector_EnvChangesGlobal to fail when run for
the second time in the same session.
Running tests twice is not useful, but happens in Eclipse with a launch
configuration set to run all tests in
org.eclipse.cdt.managedbuilder.core.tests/tests - once directly and once
through AllLanguageSettingsProvidersMBSTestSuite. I have not found any
way of running every test exactly once in the GUI.
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>
Each command should have it's own command launcher. The alternative is
to ensure that the previous command has finished prior to launching the
next one, but that's harder to acchieve as it's up to the consumer of
Builder to fullfill.
Contributed by STMicroelectronics
Change-Id: I17038220ccd7c1767328ecfce92f28d8205c1d56
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>
I've added the badge-styled link to the configuration. I've commented out the section with detailed steps because the configuration automates all those steps and because the page opened by the link also has all these instructions.
The description on that page has a description specific to CDT.
It comes from here:
455f7fc25a/releng/CDTConfiguration.setup (L37-L49)
Best to use the properties view to edit this content so that the XML is properly escaped.
Don't install org.eclipse.pde.api.tools.ee.feature.feature.group because
it's no longer in the latest update site, and that causes problems like
this one as noticed by a user:
https://www.eclipse.org/forums/index.php?t=msg&th=1111320&goto=1854139&#msg_1854139
Move all the tasks up to the project level.
Include a * requirement on the CDT targlet so that all projects are
imported by the targlet task with no need for a separate import task.
Probably many of the explicitly listed requirements are no longer needed
because all requirements of all projects in the clone are resolved now
automatically. Also ensure that all platforms are resolved so that all
of CDT fragments are imported.
Move the Git clone task before the modular targlet task so that the
clone is available during the first resolution.
Add an EclipseIni task so that the CDT.setup is redirected into the
local clone's version such that you can modify that setup and test it
locally via Help -> Perform Setup tasks (and so that Navigate -> Open
Setup -> CDT opens the editable workspace version).
https://bugs.eclipse.org/bugs/show_bug.cgi?id=580505
This is the exception that would have been raised.
java.lang.reflect.UndeclaredThrowableException
at org.eclipse.cdt.core.cdescriptor.tests.CDescriptorOldTests.testProjectDataCreate(CDescriptorOldTests.java:370)
Caused by: java.lang.IllegalAccessException: class org.eclipse.cdt.internal.core.CConfigBasedDescriptor$1 cannot access class com.sun.org.apache.xerces.internal.dom.ParentNode (in module java.xml) because module java.xml does not export com.sun.org.apache.xerces.internal.dom to unnamed module @772861aa
at org.eclipse.cdt.core.cdescriptor.tests.CDescriptorOldTests.testProjectDataCreate(CDescriptorOldTests.java:370)
It may be that --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
can/should be added to the product, similar to linuxtools in
https://github.com/eclipse-linuxtools/org.eclipse.linuxtools/pull/20/files
but as this affects only some special use cases that are probably
not really in existence anymore we are just fixing the tests.
Alternative would be to simply delete these old tests (CDescriptorOldTests)
and surrounding code.
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
Eliminate ResourceException by avoiding processing a deleted source
folder resource as a modified resource.
Change-Id: Icfa10040d4d3c6c06b2a4c040e7b632e94dff324
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
The removed assertion was overly harsh and some combinations of fonts
and text meant that the assertion was being hit. This code
was based on LineNumberRulerColumn (platform.text) which has long
since removed the assertion - see
3e70d44d64
for the removed assertion.
Note that this change simply removes the assertion and does not
address all the possibilities of mixed fonts. I suspect that there
may be some (hopefully) small drawing errors if such mixed fonts
are used. This code (unlike platform text) will continue to
assume all lines are the same height.
Change-Id: I3801b05c96e2784aabe53b3a503dbdb86e6e10c0
Some changes happened in platform that cause PDE to not resolve
properly. Tycho does, so our builds have been ok, but in the dev IDE
there has been a problem.
https: //github.com/eclipse-equinox/equinox.bundles/issues/58#issuecomment-1156571374
Change-Id: I1fdde377f799ad1d83018c8a70e1acbf810c80bc
Guard against NPE. Full cause needs to be investigated but with this
check the behaviour is no worse than before in these cases
Change-Id: I27ed2cd915e21fca2ef07335820d9e2496c1c51d