- add BaseDatabindingModel class
- add DataVolumeModel class to model a volume mount
- add ContainerPropertyVolumes model to model volume specification
and selected volumes
- add new properties to ContainerCommandLauncher to represent
volumes and selected volumes for a configuration
- add new ContainerDataVolumeDialog for specifying a volume
mount by the end-user
- add code to ContainerPropertyTab to support specification of
volumes to mount when building
- add a null detector for cfgDescription in
LanguageSettingsSerializableProvider
Change-Id: I54db9afe608475514f60e9dd9e6c6b8bec1d3137
- fix ContainerPropertyTab.performApply to be ready for a null
enablement property which occurs when Apply is hit on another
tab page
- fix LanguageSettingsWorkspaceProvider.getSettingEntries method
to use the CommandLauncherManager so entries will be transformed
to use cached headers
Change-Id: Ib2bb283d768905716e7fb37fd598aeace7832b2d
- change ContainerPropertyTab to have a performApply and
performOK method so that gcc specs detection is performed
in either case
- in performOK, only clear the current specs since the
change of the project description will cause the regeneration
to occur
- in performApply, clear specs and send a null event to handle
- calculate whether specs calculation is actually needed based on
changes to the original configuration
- 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
Change-Id: Ic577f0fdbb89f68aa88146e6c0f5aa95d75694bd
- in LanguageSettingsSerializableSettings class, call the
CommandLauncherFactoryManager 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 CommandLauncherFactoryManager
to get entries from image
- add getLanguageSettingEntries method to CommandLauncherFactoryManager
to convert include paths to locally cached paths copied from
image
- add verifyLanguageSettingEntries method to ICommandLauncherFactory
- fix copy header logic in ContainerCommandLauncherFactory
- add verifyLanguageSettingEntries method to
ContainerCommandLauncherFactory that looks to see if the
project is currently enabled for container build and any
include path entries are ones that have been copied over as
part of a CopyVolumesFromImage job in which case they are
replaced in the entries list
- fix the ContainerPropertyTab performOK method to always
refresh the builtin specs for the time-being so switching
can be done between container and regular build
Change-Id: I004e916253cbaae9c6dfed1ef4f5844678fe0dd9
- add logic in ContainerPropertyTab to kick off gcc specs discovery
when the OK button is pressed
- also fix bug in ContainerPropertyTab whereby the image name
was being reset to blank when a change occurred in connection combo
- add setLanguageSettngEntries method to CommandLauncherFactoryManager
- add registerLanguangeSettingEntries method to ICommandLauncherFactory
and ContainerCommandLauncherFactory
Change-Id: I22f60a5ff42f9312cba42ca4d3b6f78225783378
- 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 CommandLauncherFactoryManager 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
CommandLauncherFactoryManager 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 CommandLauncherFactoryManager to get
its ICommandLauncher
- change CommandBuilder to use CommandLauncherFactoryManager 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.managedbuilder.core to 8.5.0
- 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
Change-Id: Id4d202d5eeb0dd52e528a45bf44d3e386f67376d
- Change parser to include virtual specifier in function declarator
location
- Change DeclaratorWriter to write all virtual specifiers in their
initial order
Change-Id: Iff381394b834146c1b63877bc9eb84517d31e078
This allows querying alias template instances for their arguments (for
e.g. instantiating dependent arguments later).
Change-Id: I7cc3dfcef75fe0faf104dc7bfe11e2acd90a4748
We previously modelled alias template specializations as alias template
instances, which was conceptually incorrect and problematic for a number
of reasons.
Change-Id: Ibca8b87bb3d54cd3ae312254a02e8522e446331d
Besides the UX advantages of typedef preservation (such as refactorings
preserving typedefs), it's important for correctness because the
arguments of template aliases can be subject to SFINAE even if they
don't participate in the target type.
Change-Id: I4e71372553dc418d1b8c3e27bd2c0387a41a3269
When checking whether gathering the build output from a
CBuildConfiguration, if a binary is a shared library and is an
ELF file, dig deeper and see if it has an INTERP section in the
program header. That tells us it's actually a PIE executable and
add it to the list.
As a rider to this bill, improve the error message when a Qt install
can't be found for a given toolchain/target.
Change-Id: I8fd0bf2d204e9425b02916d7b17f4309a5ad9dd5
(cherry picked from commit 14b07f490c)
If we are merging two env vars and the operations are both
append or prepend, keep that as the operation instead of
replace.
Change-Id: I758a54b8903eabafac38bf2f3f7d7065c0373e70
Out-of-line definitions where the definition is in a different file
than the declaration are not supported yet.
Change-Id: I3631bdb3e08abe2aab266065c7858c66170fb570
This allows reusing more code, such as CommonCPPTypes and
BindingAssertionHelper, between the two test suites.
Change-Id: I8203191fc3a10565add0ae1bd25c98f743cd1e64
This ensures that, when instantiating the function call, we get into
EvalFunctionSet.resolveFunction(), and check that the function is
actually callable with the instantiated argument types, and error out
if it isn't (which is important for SFINAE purposes).
Change-Id: Ia01755bc1a830fded1f61658f4beef875cc0b029
Re-wrote the BuildConsolePartitioner to do as many operations as possible
in the non-UI thread and only to update the UI thread in batches.
Key changes:
- The UI thread "pulls" changes when it is ready, this means that many
lines of output are updated in one go. This compares to the "push" that
the non-UI thread used to do. The previous code pushed a change to the
UI thread on every line of build output.
- The limit on console size is now soft, rather than recalcuating the
entire document on each line (i.e. add line at bottom, remove line
from top) the document is truncated to the limit size as it reaches
2x the limit size. This calculation is also done more effeciently by
tracking the number of lines each partition contains rather than
recalculating them.
- Folded most of the implementation of BuildConsolePartition into
BuildConsolePartitioner. This is because the partioner has a global
view and is much more efficient at determining if adjacent partitions
can be combined. In addition, rather than having the complexity of
splitting partitions that were too long, instead make sure we don't
create such partitions in the first place.
Change-Id: I47543db3fef754e779684cae44d3316982f1bc0a
Specifically, this patch:
- Adds support for a new builtin, __builtin_assume_aligned.
- Models __builtin_constant_p as a function instead of a macro.
This inhibits constexpr evaluation, but allows for correct
type-checking.
- Diagnoses misuses of known builtins, instead of ingoring them like
unknown builtins.
Change-Id: Ie5a26f2010dc5b19e6f32a8c6a1237fe88da393e
and provide quickfix for adding fallthrough attribute
and add JUnit Tests
and add StandardAttributes class
Change-Id: I8cf0238771dc92bd1784b9dfb35a680d078b1db6
Depends-On: Ic09aa96f896b0a5dd998156e05930704775f695b
Signed-off-by: Rolf Bislin <romibi@bluewin.ch>
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
Previously, we would just assume that if there is no user-defined
conversion involved, the evaluation successfully converts to the target
type.
This increased strictness exposed a couple of other bugs related to
evaluations, which are also fixed in this patch.
Change-Id: I8c40114da341d95b38f1ecc386e875badfe9f8c6
The manipulations removed in this change have no basis in the standard,
as far as I can tell by looking at [expr.ref].
Change-Id: I4fc8c342b590dbeb5a876543f736934c162034cc
Extended PDOMManager to update index for header files in referencing
projects
Change-Id: I5a5b364651dbb854662c31197dd7ad77f13caff0
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>