Skip to main content
summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-11-08Bug 520340: Fix @since versionsJonah Graham2-2/+2
Change-Id: Ifced09a4376952c8eb2e90d68e8bb35f87b003ef
2017-11-08Add Makefile Projects to collection of core build project types.Doug Schaefer22-354/+672
Reuses the old makeNature. Reuses the StandardBuildConfiguration. Generates a pretty simple project for now. Also handles the case where you don't want to generate anything, just create an empty or on an existing source tree. Change-Id: I2f3cddc85d55792a2c537e37d4bc236a3073d930
2017-11-08Bump cdt-baseline sequence numberJonah Graham1-1/+1
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
2017-11-07Adjust Arduino to new GCCToolChain API and add type and id/name.Doug Schaefer9-33/+49
Change-Id: Ia089985425c7f1a6fe347c41a6a01e5ab16d8208
2017-11-07Hook up the clang toolchain now split out from GCC.Doug Schaefer10-237/+348
Change-Id: I6edba9e689d903546be3a65060c4ac1b9871167f
2017-11-07Bug 526684 - Use InstantiationContext.setExpandPack() in ↵Nathan Ridge2-1/+28
CPPTemplates.instantiateTypes() if appropriate 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
2017-11-07Implement ordering of toolchains.Doug Schaefer15-342/+501
Introduce toolchain types independent of providers. Change-Id: I2cf3145920fcf4e7132468b6e653d7ea3e211127
2017-11-07Bug 526724: corrected deduced type for string literals with u8 prefixMarco Syfrig2-9/+50
Change-Id: Ibc55f6cbd8f425149598b397a4d2fb90b7ed6b8b Signed-off-by: Marco Syfrig <marco.syfrig@gmail.com>
2017-11-05CMake - check for build files, clean up some UX.Doug Schaefer3-9/+16
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
2017-11-05Add the core build gcc ui plugin to the gcc build feature.Doug Schaefer2-36/+44
Change-Id: I309bf8c785107ad8edd68664d175c7e94a900ea4
2017-11-03Hook up the error parser properly in the build configuration.Doug Schaefer6-24/+66
So we can have the error partitions that work with double clicking in the build console. Change-Id: I357f4efb8fd16232b78b18958c9863071feeebcc
2017-11-02CDT.setup fixesJesper Eskilson1-6/+3
* Remove unnecessary version range on bouncycastle * Replaced http://download.eclipse.org/eclipse/updates/4.7milestones with http://download.eclipse.org/eclipse/updates/4.7 to match cdt.target. Change-Id: I5b15768d1478666f89d7cbd0ae6c8828674fe6f1 Signed-off-by: Jesper Eskilson <jesper.eskilson@iar.com>
2017-11-02Fix API error in lsp4e.cpp plugin.Doug Schaefer1-117/+117
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
2017-11-02Bug 526730 - Autotools should not run autotool commands in the ContainerJeff Johnston3-47/+55
- 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>
2017-11-02Bug 520340: enable CLI to CDT's code formatterMustafa Yücel9-0/+607
example usage: eclipse -nosplash -application org.eclipse.cdt.core.CodeFormatter -consoleLog \ -verbose -config .settings/org.eclipse.cdt.core.prefs src/ imported CodeFormatterApplication from eclipse.jdt.core: org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/CodeFormatterApplication.java revision 823698366b88fe7e6c1438813d7dd191ff9aa71f org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/messages.properties revision c2646812d22906feca88c2f52911ca7c4eae2299 Change-Id: Id934c8958c66f562bd2402dcbd8b7c60e39cc7a5 Signed-off-by: Mustafa Yücel <mustafa.yuecel@siemens.com>
2017-11-01Bug 361881: Test for undefined reset/delay/halt commandJohn Dallaway3-7/+33
Change-Id: I55c7edf41fa8b1d1cef73254d98e596b04c30b51 Signed-off-by: John Dallaway <john@dallaway.org.uk>
2017-11-01Improve when build like autotools is trying to execute a script.Doug Schaefer2-13/+40
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
2017-10-31Fix API baseline errors from Command Launcher changes.Doug Schaefer8-10/+13
Change-Id: Ibc5ba38669832f6baa67ff49ce4fe08ab1f5a14a
2017-10-31Fix up MSYS2 autodetect in to use new GCCToolChain API.Doug Schaefer2-4/+39
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
2017-10-30Bug 525591: autotools: Initial core build implementationChin Huat Ang37-0/+886
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>
2017-10-30Bug 526391 - Make Database.stringCache a ConcurrentHashMap since it can be ↵Nathan Ridge1-2/+2
accessed concurrently by multiple threads Change-Id: I79b88197ade9831100b13e5429bfb62248a28f06
2017-10-26Bug 525953 - Simplify the implementation of ↵Nathan Ridge1-5/+3
AbstractCodanCMarkerResolution.getProblem() 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
2017-10-25Bug 526134 - Recover from failure to parse a base-clause in a class-specifierNathan Ridge2-1/+14
Change-Id: I642650020dc2c0363376c8172769f4b5ea2d90c4
2017-10-22Bug 513589 - Add support to build CDT projects in a Docker ContainerJeff Johnston67-66/+4543
- 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
2017-10-21Bug 486140 - Cast expression with label reference expression as operandNathan Ridge2-1/+37
Change-Id: I77d8e7dabc64f68818f4222ffe3d6ba7eebae542
2017-10-20Bug 525982 - Have TypeOfUnknownMember implement ICPPUnknownBindingNathan Ridge3-19/+26
This ensures that name resolution can proceed when a TypeOfUnknownMember appears on the left hand side of a scope resolution operator. Change-Id: I2dfc22eb474b8a2f776eda09ce90c91462d7fe5b
2017-10-20Bug 334110: Ensure correct SessionType enabledJohn Dallaway2-2/+14
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>
2017-10-19Fix bugs with emscripten and scannerInfo.Doug Schaefer3-21/+27
Change-Id: I54d3691426a48c2a6f71fee4188364e57eea402d
2017-10-19Bug 526254: Increase choice of speeds to match that of modern USB SerialAlex Schuilenburg1-2/+6
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>
2017-10-18Make CMake support more resilient.Doug Schaefer4-10/+23
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
2017-10-17Make Qt toolchain selection more resilient.Doug Schaefer4-9/+13
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
2017-10-17Make no toolchain error handling more generic and reuse with QtDoug Schaefer4-4/+6
In particular when Qt Installs are missing. This is a similar scenario to when toolchains are missing. Change-Id: Ic78f71436e46c73900a556133c3883df807784d9
2017-10-16Fix up handling of Qt build config defaults.Doug Schaefer1-38/+9
Don't rely on default properties any more. Make sure we can handle the cases when the properties are null. Change-Id: I8b359891286118553399e7635d2ea4b7f147892a
2017-10-16Bug 519121 - Avoid building excessively long type strings in ASTTypeUtilNathan Ridge1-1/+48
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
2017-10-16Fix Default toolchain name in common build tab.Doug Schaefer1-1/+1
Change-Id: I5e5ff71556780b05f52a28c9ddcf4537fadeb4f6
2017-10-16Improve tracking of lookup pointsNathan Ridge2-71/+74
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
2017-10-15Bug 512297 - Improve caching of type strings in ASTTypeUtilNathan Ridge3-47/+32
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
2017-10-15Rename EvalParameterPack to EvalPackExpansionNathan Ridge8-23/+23
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
2017-10-13Bug 525438 - Fix file path comparison in ↵Nathan Ridge1-2/+1
AbstractIndexAstChecker.getLineCommentsForLocation() Using IPath.toPortableString() was causing a forward slash vs. backward slash mismtach in the path comparison on Windows. Change-Id: Ib3eb392065fb473f6b6e70cb1dcddceb34ae7240
2017-10-12Point help docs run at released 4.7 platform.Doug Schaefer1-1/+1
Change-Id: I77f0674c38db10f6e2e025737210a8086dc9aca8
2017-10-12Allow for changing manually setting toolchains for build configs.Doug Schaefer42-607/+1144
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
2017-10-12Bug 525726: Use GDB/MI for temporary breakpointJohn Dallaway1-2/+3
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>
2017-10-11bug 525794 - NPE when invoking Open Declaration in "empty space"Michael Woski2-0/+13
Change-Id: I09a8670d113553c9046d829526149f869f4029a4 Signed-off-by: Michael Woski <woskimi@yahoo.de>
2017-10-11Update cdt.target file to point to '4.7' instead of '4.7milestones',Nathan Ridge1-1/+1
since the latter has been removed Change-Id: I247c708a4e8f6948824a4a72a1e14e99fa565b60
2017-10-08Bug 525692: Execute run commands before resumeJohn Dallaway2-24/+23
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>
2017-10-06Add UI tests plugin for CMake. Fix a couple of bugs it found.Doug Schaefer43-284/+494
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
2017-10-06Bug 525666: Fix NPE when DebuggerConsole closes before async code can runJonah Graham1-2/+10
Fix the async calls that can run after the DebuggerConsole is closed and removed so that they can't NPE. Change-Id: I7905ee18a92be0ff5de25a4c8d770a694b06bfe1
2017-10-06Bug 525667: Allow IGDBFocusSynchronizer to be an optional serviceJonah Graham1-1/+7
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
2017-10-06Bug 525664: Add missing close in new Debugger ConsoleJonah Graham1-0/+7
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
2017-10-06Bug 525645 - Named type specifiers in friend declarationsThomas Corbat2-2/+23
Change-Id: Ia67fb35ef3d20cde97322c07e697e3437c6c769d Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>

Back to the top