When the baseline was changed to CDT 9.3, the sequence number was not
changed. That means that Eclipse PDE does not "see" the change to the
content and therefore while it appears that the baseline is 9.3, it will
continue to actually be 9.2, leading to lots of API errors.
Change-Id: Ie4103f24fe28afcadd8722b0da463febe372bdd8
InstantiationContext.setExpandPack() and related methods were introduced
in bug 486971 to ensure that when instantiating a type list that
contains a pack expansion, with a parameter map that maps the template
parameter pack that appears in the expansion to another parameter pack
(which can happen when e.g. instantiating an alias template with
dependent arguments), the pack is expanded in the correct place.
However, bug 486971 only added use of this machinery to CPPTemplates.
instantiateArguments(). We can also instantiate a type list in
instantiateTypes() (used e.g. when instantiating the parameter types
of a function type), so the machinery needs to be used there as well.
Change-Id: Iabb458e8e3166c15ed922656fc0729a4a8cf8bbf
Starting for Ninja, check for build.ninja file on whether to run
CMake again. Need to do same for makefiles. Change default to run
cmake --build instead of hardcoding ninja or make. Added message
to the end of the build to know when it's done.
Change-Id: Ibbb352ef7c64f6e1fcbe122ef0b73f2c91bb1aa7
Not sure we have the right dependency in the cdt target file but
I get a compile error when I use it.
Change-Id: Ie357ea76da82ac552b6c95662d725fb660434ff6
- modify runCommand and runScript methods in AutotoolsNewMakeGenerator
class to take an ICommandLauncher to use
- modify AutotoolsNewMakeGenerator regenerateMakefile method to
pass a local CommandLauncher when running autotool commands, but
using one from the CommandLauncherManager when running configure
or config.status to do the configuration
- modify RemoteCommandLauncher to add a constructor that includes
the ICommandLauncher to use if the project is not remote
- fix AbstractAutotoolsHandler to use local CommandLauncher
Change-Id: Ib3f0deff3cca4b7b40459b5dd691d73dcbf2a87c
Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>
The new Autotools core build executes autoreconf which is a perl
script. We've been assuming up until now they were always
Windows exes or bats. If there's no proper extension, try
finding sh and passing the command to it.
Change-Id: I71ba66d7658db0bdc45608abc356b5efe80669af
Make sure we pass the path to gcc as well as the environment
with the MSYS2/MINGW* path.
Also mark the old API deprecated. Not sure it even works
anymore so we need to move things over.
Change-Id: I1df10a4a77dbdd9027788bc404ae367421673e26
Add core, UI and feature plugins for the new autotools project which
uses template wizard and core build.
The template wizard currently supports generating a simple autotools
project as described using a template manifest.
The project generator sets new autotools nature associated with new
autotools build config provider.
The generated autotools project has been tested to compile fine with gcc
(x86_64-linux-gnu-gcc) toolchain.
Change-Id: I8349999d551bb693725a246340cf46266150fadc
Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
In the process, the (problematic) assumption the function previously
made that a marker's resource will be a file, has been removed.
Change-Id: I657e1e99d9b06921558ca13960b4fd3ad554911d
- add IOptionalBuildObjectPropertiesContainer interface to use for
objects that supply optional build properties
- add new IOptionalBuildProperties interface that defines
optional build properties donated by external plug-ins
- add new
- change IConfiguration to an IOptionalBuildObjectPropertiesContainer
- change IManagedProject to be an
IOptionalBuildObjectPropertiesContainer
- fix ProcessClosure to ensure that readers are not null before
accessing them
- fix Container launch delegate to look at project optional
build properties for active configuration to fetch connection
and image info and use said info to find a matching
launch or create a new one
- have Container launch delegate use the image name as part of
the launch config name
- have Container launch short-cut also use the project's
optional build properties for the active config to get
connection and image information before any defaulting
- change AutotoolsNewMarkerGenerator to store the command
launcher as an ICommandLauncher
- add new CommandLauncherFactory extension to cdt.core that
allows plug-ins to specify a CommandLauncherFactory that
will return an ICommandLauncher based on the project
- add macros for new extension to CCorePlugin
- add new CommandLauncherManager class that loads
CommandLauncherFactory extensions and is used to give
an ICommandLauncher wrapper that will go through the list
of CommandLauncherFactory extensions until one returns
non-null ICommandLauncher
- add code to RemoteCommandLauncher so it will use the
CommandLauncherManager to get the local launcher
- also change RemoteCommandLauncher to check at execution
time whether the command is local and in that case use
the local command launcher
- add new ICommandLauncherFactory interface
- add new ContainerCommandLauncher to launch
- add new ContainerCommandLauncherFactory class for returning
a ContainerCommandLauncher instance to launch commands
in a Docker Container
- change MakeBuilder to use CommandLauncherManager to get
its ICommandLauncher
- change CommandBuilder to use CommandLauncherManager too
- ditto for Builder and AbstractBuiltinSpecsDetector and
ExternalToolInvoker
- change Configuration to load/store optional build properties
as well as return the properties to get/set
- ditto for MultiConfiguration
- change ManagedProject to implement IOptionalBuildOptionProperties
interface
- ditto for ProjectType
- create new OptionalBuildProperties class to store optional
build properties for a configuration
- bump cdt.docker.launcher to 1.1.0
- use CommandLauncherFactory extension to define
ContainerCommandLauncherFactory
- add optional ContainerPropertyTab which allows the end-user to
optionally choose to build a C/C++ project in a Container
and specify the connection/image to use
- in LanguageSettingsSerializableSettings class, call the
CommandLauncherManager getLanguageSettingEntries method
to get the massaged language setting entries based on the
current list
- in LanguageSettingsProviderSerializer, try and get the
pooled entries using the cfg description so that it will
have the project and can use the CommandLauncherManager
to get entries from image
- in ContainerCommandLauncherFactory move cached headers under
a HEADERS directory in the plug-in area
- create a sub-directory for the connection and a sub-directory
for the image based on cleansed names
- store the real names of the connection and image to use
later in the DockerHeaderPreferencePage
- modify LanguageSettingsEntriesTab to force the horizontal
scroll bar to appear (this is a bug in SWT SashForm support
and the fix here isn't quite correct, but is better)
- add new DockerHeaderPreferencePage that allows user to
remove cached headers from images
- change C/C++ Docker preferences to be titled: Docker Container
- fix LanguageSettingsWorkspaceProvider.getSettingEntries method
to use the CommandLauncherManager so entries will be transformed
to use cached headers
- add BaseDatabindingModel class
- add DataVolumeModel class to model a volume mount
- add ContainerPropertyVolumes model to model volume specification
and selected volumes
- add properties to ContainerCommandLauncher to represent
volumes and selected volumes for a configuration
- add ContainerDataVolumeDialog for specifying a volume
mount by the end-user
- add a null detector for cfgDescription in
LanguageSettingsSerializableProvider
- fix AutotoolsNewMakeGenerator.getWinOSType to not specify "." for
working dir
- fix GCCBuiltinSpecsDetectorCygwin to not map paths to Cygwin if
the current configuration is enabled for container build
- add logic to ContainerCommandLauncher to look for Windows
file formats and change them to unix format and map
any "." working dir to be /tmp
- fix ContainerLauncherConfigurationDelegate similarly
- fix AbstractBuiltinSpecsDetector to pass in the current
configuration description when getting the CommandLauncher
since the current configuration may not be the active
configuration
- change ContainerPropertyTab to add Elf and GNU Elf binary parsers
when build in Container is chosen so that output executables
are treated as Binaries by the CDT project
- add documentationl for the ContainerPropertyTab in Build Settings and
the Data Volume dialog pop-up it brings up
- change CommandBuilder to accept a project as an argument
to its constructor and to pass this as an argument to
the CommandLauncherManager
- have StepBuilder pass project when creating a CommandBuilder
Change-Id: Ia78488b93056e6ec7ca83a6c87b3a9d2b9424943
This ensures that name resolution can proceed when a TypeOfUnknownMember
appears on the left hand side of a scope resolution operator.
Change-Id: I2dfc22eb474b8a2f776eda09ce90c91462d7fe5b
The DSF-GDB LaunchUtils rely on
ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE for correct
behaviour.
Change-Id: I12ae2dea6918233dc09848b7bbbedc6304294d1a
Signed-off-by: John Dallaway <john@dallaway.org.uk>
FTDI chips.
Increase the choice of serial baud rates for GDB as modern USB Serial
FTDI chips can reliably support serial baud rates higher than the old
RS232 115200 maxiumum.
Change-Id: If60fd006fdb02d94e86ef2e76a26b56da7a3a067
Signed-off-by: Alex Schuilenburg <alexs@ecoscentric.com>
Add c++ to GCCToolChain since that's what CMake uses by default for
MinGW. Synchronize the scannerInfoCache loading. Double check for
toolchain files at load time for configs that don't have any.
Change-Id: I8071e285ce5deb1448cabd45f394c62fe6a7f2f4
On my Windows box I have lots of GCC toolchains. Make sure it selects
the one from the Qt install. And fix a few NPEs and things around that.
Change-Id: Ifeeca9271b5055ac773b3b77e372a67e07305130
In particular when Qt Installs are missing. This is a similar scenario
to when toolchains are missing.
Change-Id: Ic78f71436e46c73900a556133c3883df807784d9
Don't rely on default properties any more. Make sure we can handle
the cases when the properties are null.
Change-Id: I8b359891286118553399e7635d2ea4b7f147892a
A type can appear as a constituent of another type multiple times.
For example, in 'A<T, T>', 'T' appears as a constituent twice.
When building a type string for 'A<T, T>', this means the type string
of 'T' will appear in the type string of 'A<T, T>' twice.
If such a duplication occurs at every level of a deeply nested type
structure, the length of the type string can become exponential in
the nesting depth.
To avoid this, an optimization is added where, past a length threshold,
type strings refer to constituent types "by reference" rather than
by containing the contents of the constituent type's type string.
Change-Id: Iaea268449a11b598f113a49fc61e9993bb6451da
ASTCache now sets the AST as the initial lookup point when invoking
an ASTRunnable.
In addition, OpenDeclarationsJob sets the selected node as a more precise
lookup point.
Change-Id: I9b32fccd80bc1b13e6da49a80a896b595784b868
Previously, caching of type strings would only be done during indexing.
Now, it is done every time an AST is available, including operations
like semantic highlighting and mark occurrences.
This is important, because without caching, ASTTypeUtil can end up
rebuilding the same type string many times, leading to quadratic
performance on some code patterns.
Change-Id: I260877f820665cbe0939c0c3065514559592e721
EvalParameterPack was a misleading name. This evaluation represents
a pack expansion expression; the expansion pattern has to contain
one or more parameter packs, but they can be nested inside an
arbitrarily complex expression.
Change-Id: I16d09c349fc6c2b1086e37fd6743f613f02bf5eb
Using IPath.toPortableString() was causing a forward slash vs.
backward slash mismtach in the path comparison on Windows.
Change-Id: Ib3eb392065fb473f6b6e70cb1dcddceb34ae7240
A number of changes that clean up how build configs are done. Now
build settings are stored with the build config instead of in launch
configs. That makes it less launch bar specific. Add build settings
UI to change the toolchain used for a given launch config.
Also changed CMake so it's IToolchain based instead of property which
doesn't work when multiple IToolchains match.
Change-Id: I958d90ede3c1f873ab1530c2b2880808e8f7abef
Issue a GDB/MI "-break-insert -t -f" command rather
than "tbreak" to avoid raising a "=breakpoint-created"
event which would trigger the breakpoint synchronizer.
Change-Id: I330f3e69fe096cb16791e4d7de7af92b2c9ccd0c
Signed-off-by: John Dallaway <john@dallaway.org.uk>
The -exec-continue command must be last in the GDB
Hardware Debugging launch sequence to ensure any run
commands are executed before application code.
Change-Id: I1eae32698e80d1c1b36da4bbdf21d85d363bcd05
Signed-off-by: John Dallaway <john@dallaway.org.uk>
Also restructures the pom.xmls to put the modules in the top level
so we can order them to have the test plugins build after them.
Change-Id: I2f0e4ebd252791fb8844cdf0f635d574946207aa
Fix the async calls that can run after the DebuggerConsole is closed
and removed so that they can't NPE.
Change-Id: I7905ee18a92be0ff5de25a4c8d770a694b06bfe1
All the uses of the service in the code base allow it not to exist,
so allow the service not to exist at launch too.
Change-Id: I907038907e87d5fbc882272b6e41cd1587617281
On Windows the PTY's waitFor will be blocked (and therefore not
see debugger termination) until the handle to stream is closed.
Change-Id: Ifa079a064733a12a03b07c3e7361e1d19d2b8be8