Skip to main content
aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-05-15Bug 573560: Mark GCC constexpr message as infoStephan Oostveen1-0/+8
A GCC information message starting with 'in constexpr expansion' was incorrectly parsed as an error. Change-Id: If6142f8486e97c088315060c826d59e61566692b Signed-off-by: Stephan Oostveen <stephan.oostveen@nextlevel-electronics.com>
2021-01-11Bug 500798: Mark GCC template init message as infoStephan Oostveen1-0/+8
When GCC skips template instantiation in its output it was parsed as an error instead of an informational message. Change-Id: If5dca2d1430a6b5e9cb9317649dea8291bfc0356 Signed-off-by: Stephan Oostveen <stephan.oostveen@nextlevel-electronics.com>
2020-12-02Bug 539927: Do not mark "Removing unused section" lines as errorsTorbjörn SVENSSON1-1/+1
The lines are printed by the GNU ld with the flag --print-gc-secions Change-Id: Ie09229427a29e9959f8ffe4920a1645ad3dcb086 Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@st.com>
2020-12-01Bug 569353: The mode output from ld is not an errorTorbjörn SVENSSON1-0/+7
Change-Id: I1a29bd698c3b37d687bf76a416689df0a69aa50d Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@st.com>
2020-01-02Bug 558638: Add nature user display namesJonah Graham1-1/+1
Change-Id: I2cabb572ab2e4a1ad2c3890267628a0aa13e4211
2019-09-03Bug 550076 - Added new parser for PE executablesAdrien Thierry1-0/+24
This new parser is compatible with both 32 bit and 64 bit executables. Change-Id: Ief9db7c6fcc10ea9e92d5ca58186eb50100d39f6 Signed-off-by: Adrien Thierry <adrien.thierry@spacecodesign.com>
2018-05-03Add dynamic variable for build directory of active core build configDoug Schaefer1-0/+6
This will allow us to use that value in external tool launches such as those used by the Serial Flash launch configuration. Also removal of the missing src source folder entry in meson.ui.editor. Change-Id: I1033bdc0c18c9822490a9b8602cef83a42f7262d
2018-03-15Bug 532227: C++17 Missing standard headers in file associationsFelix Morgner1-0/+5
Add the new header files introduced with C++17 Change-Id: Icb5086ff94cee309010ac0d502fba56ae3f266c5 Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
2018-02-16Bug 531258 - Provide name for org.eclipse.cdt.core.cBuilderWilliam Riley1-0/+1
Using "CDT Core Builder" to avoid confusion with "CDT Builder" used by managed build. Change-Id: Ib2556be4e53caf505fff3a697757a0979fbf08bc Signed-off-by: William Riley <william.riley@renesas.com>
2017-11-02Bug 520340: enable CLI to CDT's code formatterMustafa Yücel1-0/+7
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-10-22Bug 513589 - Add support to build CDT projects in a Docker ContainerJeff Johnston1-0/+1
- 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-04-18Bug 515383: Missing standard headers in file associationsFelix Morgner1-2/+2
The following standard headers were missing from the file associations: - cuchar - cstdalign - scoped_allocator - shared_mutex Additionally, cinttypes is no longer (since C++11) a GCC extension Change-Id: I1545257d7d934c970de4f2f45f4e15499cec3fd9 Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
2017-04-18Bug 497670 - Support compiler provided "fix-it" hintsJeff Johnston1-1/+1
- add new FixitErrorParser that extends RegexErrorParser and is used to replace the error parser for GNUCErrorParser - add new FixManager class to bind a fixit message with its problem marker - modify ProblemMarkerFilterManager to register the last accepted ProblemMarkerInfo for a particular resource so the FixitErrorParser can find the last error marker for the file that precedes the fixit message - FixitErrorParser looks for fix-it messages and binds them via FixitManager to the last error marker for the file - add new Fixit class to contain the details of a gcc fix-it - add new QuickFixForFixit which applies the gcc fix-it for the file - add new (.*) regex in codan.ui.checkers patterns that will trigger before any other error and will look for the fix-it message format - change cdt.core to expose cdt.internal.errorparsers to codan.checkers.ui - change codan.core to expose codan.internal.core.model to codan.checkers.ui - fix CDocumentProvider.setOverlay method to not overlay a CMarkerAnnotation that has a quick fix - when deleting all C problem markers, also make a call to FixManager.deleteAllMarkers() so markers aren't left referenced Change-Id: Ibf8ff7d8addb1bf092dc4ef35de0d92de0309589
2017-02-06Bug 511229 - RFE: Add quick fixes for some basic gcc errorsJeff Johnston1-1/+8
- change codanMarkerResolution schema to support translatable regex statements for matching - bump cdt.codan.ui version - add additional codanMarkerResolution extensions to codan.checkers.ui to handle some basic gcc error messages with quick fixes - add QuickFixAddSemicolon, QuickFixRenameMember, QuickFixUseDotOperator, and QuickFixUsePointer classes - add new QuickFixMessages - add plugin.properties to cdt.codan.checkers.ui to allow the quick fix regex matchers to be translated in the future - change the generic error message for gcc error parser so that the column is reported as the problem variable (useful for certain quick fix resolutions) - bump up cdt.core Change-Id: Ibb24c1a79c4d91ead3fc629ea3d4e7425b4e7f23
2016-08-10Only show Language Setting property on old build system projects.Doug Schaefer1-0/+10
Change-Id: I21e71af0f5e701939d133707353e5bde7e4ab0e1
2016-04-28Modernize Arduino plug-ins. Adjust APIs to suite.Doug Schaefer1-1/+0
Change-Id: Ic877c8f0992874e647d4b464502165d7bd3ebe0e
2016-04-24Major change to new build arch to give configs more power.Doug Schaefer1-0/+12
Creates a single central CBuilder builder which find the C Build Config and delegates the builds to it. That give configs full control over the builds. Qt and CMake build configs are adapted to this new structure. More features are added to the default super class for configs. Change-Id: I5ecfc7a4e9b909da6749189a059cdcd4a208fddd
2016-04-14Tighter integration of new build system with cdt.core.Doug Schaefer1-0/+13
Move the new build system to cdt.core and remove the previous plugins. Hook the new system into scanner info and environment variable manager. Clean up API in preparation for Neon and API lockdown. Hook up Qt to the new APIs. Add discovery of MSYS2's toolchain and Qt and Qt's MinGW toolchain. Change-Id: I85b1a91da4a44e86f0e9da9310f8106c894623e0
2016-03-22Revert "Bug 489563 - API change for Language Settings Providers."Doug Schaefer1-17/+0
This reverts the changes we've made for language settings providers so that I can start again with a cleaner approach. Change-Id: Icddd5a465a8f217594af5b07011a56bf1dfdf014
2016-03-21Bug 489563 - API change for Language Settings Providers.Doug Schaefer1-0/+17
Use IBuildConfiguration instead of ICConfigurationDescription. Add adapters to convert back and forth between these. Create IBuildConfiguration objects when configuration descriptors are created. Clean up formating of the code involved. Change-Id: Iec5ca132dddbf990f116f96b4680ef5f7318e28b
2015-11-25Bug 481978 - Big overhaul of new build system to work with Qt.Doug Schaefer1-8/+0
Moved new build system to it's own plug-ins. Cleaned up the root build configuration and toolchain classes and use them for Qt local run builds. Also hooks Qt local run launch delegate to launch target manager and associated delegate interface. Change-Id: I0c0f711ee53005edd399f6d24ba96658d606e1e5
2015-09-28Starting to put Qt onto the new build system and launch.Doug Schaefer1-14/+4
Change-Id: I3e65f5d69bfb35d16b2d1135f99517c7a2b2c437
2015-08-31Bug 321443 - First implementation of new build model.Doug Schaefer1-0/+18
Includes adaptation of the Arduino build model where many of these ideas started to the new model. And start of the Qt build system which uses it. Change-Id: Icb212185773ebc4d415e8a9862101744703ff80b
2015-04-11Consider included .inc files as being exported by default.Sergey Prigogin1-1/+5
2014-07-30Proper enablement/disablement of Clean/Build Selected Files commands.Sergey Prigogin1-1/+2
Change-Id: I6f56eeb111759ccf7a0bc8fbbfd57ffd8689bf01
2014-05-09Revert "added supported gnu file types to cdt file-types-list (defined here: ↵Sergey Prigogin1-38/+2
http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Overall-Options.html#index-file-name-suffix-71)" This reverts commit 8241b40ddbcacfa39a0ae8f8484bd2cacbd8c681.
2014-05-09added supported gnu file types to cdt file-types-list (defined here:Lukas Felber1-2/+38
http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Overall-Options.html#index-file-name-suffix-71) Change-Id: I3f90382c4560aecc148c1826d8ff9242dffacb78 Signed-off-by: Lukas Felber <l.felber@gmx.ch> Reviewed-on: https://git.eclipse.org/r/24850 Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com> Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2014-04-11added missing extension less headers 'condition_variable' and 'ctgmath 'Lukas Felber1-0/+5
to cdt-file-types-list (as defined in c++ standard section 17.6.1.2) Change-Id: Idbbba12655a72b24cd28aab71d9a613320a7e70c Signed-off-by: Lukas Felber <l.felber@gmx.ch> Reviewed-on: https://git.eclipse.org/r/24854 Tested-by: Hudson CI Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com> Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2014-04-10JI:449069 Add filtering to the PDOM generatorDoug Schaefer1-0/+11
Adds a -exclude option to list directories and files that are to be excluded from the pre-built PDOM so we don't get header files that users don't get suggest optional headers.
2014-03-31Cosmetics.Sergey Prigogin1-5/+2
2014-01-16Bug 425538 - Syntax errors in QML reported as "C/C++ Problems" because ↵Daniel Pesch1-0/+1
errors from Qt Linguist The problem is solved by allowing to ignore duplicated markers in case there is already loaded a plugin that could handle QML files The ProblemMarkerFilter extension point allows to filter out unneeded problem markers. For example during building of Qt base project with QML files tool Qt Linguist could report syntax errors in some qml file. These errors are presented as "C/C++ Problems" in qml files because they match format CDT expects for errors. If there is already installed plug-in that handles QML files it is a wise to ignore such errors because they are already reported as "QML Problems" with more meaningful descriptions. Change-Id: I3a0a1b58e9690bed9c2774e4328760c695d54a54 Signed-off-by: Daniel Pesch <dpesch@blackberry.com> Reviewed-on: https://git.eclipse.org/r/20581 Tested-by: Hudson CI Reviewed-by: Andrew Eidsness <eclipse@jfront.com> Reviewed-by: Doug Schaefer <dschaefer@qnx.com> IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-11-29Bug 422804: Allow contributors to add data to the PDOMAndrew Eidsness1-0/+1
The CDT persists an index of source code relationships by processing the AST produced by the parser. There is an existing extension-point that allows contributors to create new linkages in this persisted file. However there is no mechanism allowing contributors to influence the data that is stored to the file. This introduces a new extension-point allowing contributors to participate in processing the AST that is being persisted to the index. The intent is for this to be used to store data into the contributor's new Linkage. There is no change in functionality for existing linkages. A contributor will soon be added in the Qt plugin. Change-Id: I845c90cbf7c713e23319e2ed1168eb7d74db5868 Signed-off-by: Andrew Eidsness <eclipse@jfront.com> Reviewed-on: https://git.eclipse.org/r/19089 Tested-by: Hudson CI Reviewed-by: Doug Schaefer <dschaefer@qnx.com> IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-10-02Bug 416471: Support for extra ILanguageSettingsProviders in new projectsAndrew Eidsness1-0/+11
This change introduces three new ProcessRunners that can be used in the New Project wizard's template.xml files. These will be used by two new Qt project wizards that I will introduce in a second patch. The three new rules are: 1) "AddMakeTarget" which creates new Make Targets (in the Make Targets view) for the new projects. 2) "SetEnvironmentVariable" which sets an environment variable in all of the new project's build configurations. 3) "ExtraLanguageSettingsProvider" which modifies the new project's build configurations to include a new ILanguageSettingsProvider. The first two are straightforward, the third is a bit different. Instead of creating a new Toolchain or Configuration it modifies the Configurations that were created for the new project. In this case the only modification is to add the extra ILanguageSettingsProvider, but it might be useful to extend this to other customizations as well. Change-Id: I30710400e9b0dffcbe6e8965ce7ce2078c1c99ca Signed-off-by: Andrew Eidsness <eclipse@jfront.com> Reviewed-on: https://git.eclipse.org/r/16817 Reviewed-by: Andrew Gvozdev <angvoz.dev@gmail.com> IP-Clean: Andrew Gvozdev <angvoz.dev@gmail.com> Tested-by: Andrew Gvozdev <angvoz.dev@gmail.com>
2013-09-08bug 416628: "Export" of entries of language settings providers to ↵Andrew Gvozdev1-0/+5
referencing projects - added provider to do that
2013-04-23bug 401961: Regression: pathEntryContainers entries are no longer honored ↵Andrew Gvozdev1-0/+5
when importing a project into cdt-8.1.2, due to LSP's being enabled
2013-03-10Removed CygwinEFSExtensionProviderAndrew Gvozdev1-7/+0
2013-02-21Merge remote-tracking branch 'cdt/master' into sd90Andrew Gvozdev1-0/+1
2013-02-20Bug 400020: Allow tagging of IBindingsAndrew Eidsness1-0/+1
This new extension point allows contributors to put their own information into the PDOM and to later retrieve it for their own purposes. There are many details in the bug. The idea is that contributors provide an implementation of IBindingTagger, which is given a chance to examine IBindings when they are created. The ITagWriter interface allows the contributor to create a new tag which can then have data written to it. The ITagService interface (accessible from CCorePlugin.getTagService() provides a way for the contributor to later get an instance of ITagReader to retrieve tags from bindings. ITags are copied to the PDOM when the associated binding is persisteed. Contributors use a unique id (based on their plugin id), so that multiple contributors are able to independently tag a given binding. In-memory tags are not cached. I've done some timing tests using my sample implementation and found no measurable difference. The full log lines look like: !MESSAGE Indexed 'simple-01' (2 sources, 184 headers) in <see below> sec: 21,550 declarations; 35,394 references; 0 unresolved inclusions; 1 syntax errors; 0 unresolved names (0.00%) I did 5 tests using the current master (no tagging-related code), the times were: 18.86 sec 9.17 sec 5.91 sec 4.79 sec 4.83 sec And then I ran the same sequence of tests using the code in this commit: 18.73 sec 9.39 sec 6.50 sec 4.78 sec 5.27 sec If performance does become a problem, then caching could be introduced with a new implementation of ITaggableService. The two problems are finding a key other than the identity of the IBinding (since IBindings are re-created often) and properly evicting stale entries when the binding is no longer valid. The process of copying tags from an in-memory IBinding to a PDOMBinding, is a synchronization. This means that tags that are no longer applicable, will be removed from the persistent store. While developing this I found that PDOMBindings are not deleted from the Database (only the names that reference them are deleted), so there is no provision for deleting all tags at once. New database locks are not needed. By the time the persistent tags are accessed, higher levels of code have already taken a read or write lock as appropriate. There are new unit tests covering the changes to the PDOM. Change-Id: I8da1bf5eeba7e1fc2ca7ec308ed8e212629986a4 Reviewed-on: https://git.eclipse.org/r/10407 IP-Clean: Doug Schaefer <dschaefer@qnx.com> Tested-by: Doug Schaefer <dschaefer@qnx.com> Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
2013-02-08Merge remote-tracking branch 'cdt/master' into sd90Andrew Gvozdev1-1/+9
2013-02-08bug 398056: Regression: LanguageSettingsProviders can get enabled ↵Andrew Gvozdev1-1/+9
unexpectedly on project-import when they should not
2013-02-01Merge branch 'master' into sd90Andrew Gvozdev1-1/+1
2013-02-01Refined a pattern for GNU Make Error ParserAndrew Gvozdev1-1/+1
2013-01-21Merge remote-tracking branch 'cdt/master' into sd90Andrew Gvozdev1-0/+10
2013-01-17Added template process to add nature. Added Qt nature.Doug Schaefer1-0/+10
2013-01-13Merge remote-tracking branch 'cdt/master' into sd90Andrew Gvozdev1-0/+14
2013-01-12Added support for Qt. Extended AddFiles template to change start/endDoug Schaefer1-0/+14
patterns.
2012-04-03Merge remote-tracking branch 'cdt/master' into sd90Andrew Gvozdev1-0/+16
2012-04-02Bug 375814 - Implement the Eclipse variables to obtain CDT configurationAnton Gorenkov1-0/+16
name and description for the specified project
2012-01-26bug 290631: Added New Scanner Discovery core functionality from branchAndrew Gvozdev1-0/+1
sd90 (Not connected to the rest of the code yet)
2011-12-17Removed unnecessary changes against masterAndrew Gvozdev1-2/+2

Back to the top