Added an Environment tab to the Core Build launch configurations for
the Local target. Similar as the standard C/C++ Application launch
configurations for Managed Build.
Added the CArgumentsTab to the Core Build launch configuration for the
Local target. This enables users to set command line arguments and
specify a working directory.
The additional CMake arguments added by the user in the launch
configuration UI are added at the end of the CMake command, such that
the user is able to override arguments set by the system.
Add SWTBot to test that the Launch Configuration, when opened via the
Launch Bar, displays a warning in the message area.
The Launch Bar Launch Configuration is, confusingly, handled by 2
different classes depending on whether a new configuration is being
created (NewLaunchConfigEditPage) or edited
(LaunchBarLaunchConfigDialog).
When using NewLaunchConfigEditPage, the existing
LaunchConfigurationTabGroupViewer.getWarningMessage() mechanism is used.
This was added to eclipse-platform in Bug 386673 (commit 231ef13).
When using LaunchBarLaunchConfigDialog (when editing), the new
getWarningMessage() mechanism, copied from the existing, is used.
In both classes above, logic was added to update the message when a tab
change occurs.
The CMAKE_BUILD_TYPE is added to CMake configuration build, based on the
active launch mode; DEBUG_MODE sets a buildType of "Debug", everything
else sets a buildType of "Release".
Note, the CMake CMAKE_BUILD_TYPE definition is not directly equivalent
to the Launch Bar Launch Mode; there might be a scenario where the user
wants to launch a debug session using the CMake Release build and not
run it. However, for most cases this is probably sufficient.
For Issue CMake projects are ignoring the Launch mode Run/Debug #807.
The documentation for GCC, and other compilers, stipulates that
__DATE__ with a day of month less than 10 should be prefixed by a space,
not a zero.
Contributed by STMicroelectronics
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
ToggleInstructionStepModeCommand.
All the contributions of the the action has been replaced
ToggleInstructionStepModeCommand.
Enabled when introduced. Which enabled the command only when C/CPP
application is under debug in Debug View.
see https://github.com/eclipse-cdt/cdt/issues/865
_This commit adds to #8407bd8d52c6c to apply the same fix to
another place that does the same operation on all fds._
When _SC_OPEN_MAX (max nr of open files limit per process) is a very
big number, then closing all possible file handles can take a while.
This change first tries to use the syscall close_range() if available,
falling back to use /proc/self/fd to close only open file handles,
and lastly falling back to the old way of closing all possible handles
one after another.
In general, the first or second approach should be available
which speeds up the pty spawning.
Refs JetBrains/pty4j#147
Copied from 04685d870f
(which is EPL 1.0)
Co-authored-by: Sergey Simonchik <sergey.simonchik@jetbrains.com>
When _SC_OPEN_MAX (max nr of open files limit per process) is a very
big number, then closing all possible file handles can take a while.
This change first tries to use the syscall close_range() if available,
falling back to use /proc/self/fd to close only open file handles,
and lastly falling back to the old way of closing all possible handles
one after another.
In general, the first or second approach should be available
which speeds up the pty spawning.
Refs JetBrains/pty4j#147
Copied from 04685d870f
(which is EPL 1.0)
Co-authored-by: Sergey Simonchik <sergey.simonchik@jetbrains.com>
When the project's active IBuildConfiguration has the default name and
the chosen ICBuildConfigurationProvider.getCBuildConfiguration does not
support the IBuildConfiguration.DEFAULT_CONFIG_NAME and returns null,
this can cause the project's ScannerInfoProvider to become "stuck"
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=413357) on the wrong
setting (eg LanguageSettingsScannerInfoProvider instead of
ICBuildConfiguration) until Eclipse is restarted or the project is
closed and reopened. When this happens, the indexer does not function.
This problem may arise if an ISV contributes a
ICBuildConfigurationProvider which has very specific naming conventions
for it's build configurations.
The solution uses the API (resetCachedScannerInfoProvider(project)),
introduced by 413357, to reset the project's ScannerInfoProvider when a
new ICBuildConfiguration is created.
Removed the 'Experimental' label in project creation wizard for Core
Build Makefile projects. Seven years after the inception it's time to
remove it. Core Build Makefile is now in a usable state. The
'Experimental' label scares users away from it, making them fall back
to the old Managed Build Makefile projects.
Added support for LLVM optimization remarks to the GCC c/c++ error
parser. They were falsly treated as errors (OtherError). Now they are
treated as generic infos. GCC has no diagnostic messages of 'remark'
type. Since GCC and LLVM messages are very similar, no separate LLVM
error parser was created.
Fixes#752