1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

185 commits

Author SHA1 Message Date
Sergey Prigogin
300d14f4db Revert "added supported gnu file types to cdt file-types-list (defined here: http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Overall-Options.html#index-file-name-suffix-71)"
This reverts commit 8241b40ddb.
2014-05-09 09:36:06 -07:00
Lukas Felber
8241b40ddb added supported gnu file types to cdt file-types-list (defined here:
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-05-08 23:07:01 -04:00
Lukas Felber
8b64594a96 added missing extension less headers 'condition_variable' and 'ctgmath '
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-11 14:19:49 -04:00
Doug Schaefer
48298d3923 JI:449069 Add filtering to the PDOM generator
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-04-10 16:31:28 -04:00
Sergey Prigogin
98e690291a Cosmetics. 2014-03-31 14:17:43 -07:00
Daniel Pesch
eb5c0c8a55 Bug 425538 - Syntax errors in QML reported as "C/C++ Problems" because 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>
2014-01-16 10:46:50 -05:00
Andrew Eidsness
5e130ab883 Bug 422804: Allow contributors to add data to the PDOM
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-11-29 00:27:15 -05:00
Andrew Eidsness
a0a2059fdd Bug 416471: Support for extra ILanguageSettingsProviders in new projects
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-10-01 20:59:40 -04:00
Andrew Gvozdev
6856d55b68 bug 416628: "Export" of entries of language settings providers to referencing projects - added provider to do that 2013-09-08 08:09:33 -04:00
Andrew Gvozdev
4a20097fd3 bug 401961: Regression: pathEntryContainers entries are no longer honored when importing a project into cdt-8.1.2, due to LSP's being enabled 2013-04-23 18:07:45 -04:00
Andrew Gvozdev
7a5bc79821 Removed CygwinEFSExtensionProvider 2013-03-10 08:04:53 -04:00
Andrew Gvozdev
0142bde6ea Merge remote-tracking branch 'cdt/master' into sd90 2013-02-21 13:54:35 -05:00
Andrew Eidsness
2279927623 Bug 400020: Allow tagging of IBindings
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-20 11:27:03 -05:00
Andrew Gvozdev
d63769fe1f Merge remote-tracking branch 'cdt/master' into sd90 2013-02-08 18:15:15 -05:00
Andrew Gvozdev
7f710ebde4 bug 398056: Regression: LanguageSettingsProviders can get enabled unexpectedly on project-import when they should not 2013-02-07 23:28:32 -05:00
Andrew Gvozdev
383cb93e57 Merge branch 'master' into sd90 2013-02-01 10:29:42 -05:00
Andrew Gvozdev
b5807e9b29 Refined a pattern for GNU Make Error Parser 2013-02-01 09:52:12 -05:00
Andrew Gvozdev
526750dc20 Merge remote-tracking branch 'cdt/master' into sd90 2013-01-21 09:20:06 -05:00
Doug Schaefer
98e5959c90 Added template process to add nature. Added Qt nature. 2013-01-17 15:27:47 -05:00
Andrew Gvozdev
97e3c26120 Merge remote-tracking branch 'cdt/master' into sd90 2013-01-13 10:04:33 -05:00
Doug Schaefer
09357c4df6 Added support for Qt. Extended AddFiles template to change start/end
patterns.
2013-01-12 00:57:49 -05:00
Andrew Gvozdev
3bd6a3eb46 Merge remote-tracking branch 'cdt/master' into sd90 2012-04-03 18:06:49 -04:00
Anton Gorenkov
f1a62f0fe3 Bug 375814 - Implement the Eclipse variables to obtain CDT configuration
name and description for the specified project
2012-04-02 10:23:31 -07:00
Andrew Gvozdev
b4230c0fff bug 290631: Added New Scanner Discovery core functionality from branch
sd90 (Not connected to the rest of the code yet)
2012-01-26 15:30:43 -05:00
Andrew Gvozdev
2559c118ec Removed unnecessary changes against master 2011-12-17 07:18:50 -05:00
Andrew Gvozdev
bbec91c5bc Merge remote-tracking branch 'cdt/master' into sd90 2011-12-17 07:17:00 -05:00
Sergey Prigogin
c8a91faa25 Bug 366422 - C++11 standard headers missing from file types. 2011-12-12 12:09:15 -08:00
Andrew Gvozdev
3bf0f468ad Cygwin Specs Detector using EFSExtensionProvider 2011-07-13 14:20:45 -04:00
Andrew Gvozdev
fbc67e72a2 Initial commit of new Scanner Discovery for CDT - bug 290631.
See prior history on GitHub https://github.com/angvoz/SD80/, branch sd80
2011-07-07 12:29:41 -04:00
Chris Recoskie
b609ec68ba Bug 133881 - Make refreshing after building optional
- serialize/deserialize to/from C project description
- fix stack overflow issue on load
- move ResourceExclusion and friends to internal packages
2011-05-10 16:53:37 +00:00
Markus Schorn
bc53d099c3 Bug 343437: Support for UNC include directories, by Greg Watson. 2011-04-28 14:10:29 +00:00
Andrew Gvozdev
6aab2550d6 Generic "Warning:" pattern added. 2011-04-24 03:22:08 +00:00
Chris Recoskie
ff9885b6e4 Bug 133881 - Make refreshing after building optional
Work in progress.
2011-04-21 19:15:20 +00:00
Andrew Gvozdev
178f37860c bug 308042: Spawner messages are too cryptic to be useful to a user 2010-09-30 03:50:35 +00:00
Andrew Gvozdev
d25d984fcd bug 308042: Spawner messages are too cryptic to be useful to a user 2010-09-29 21:13:56 +00:00
Andrew Gvozdev
c03b1c1796 bug 308042: Spawner messages are too cryptic to be useful to a user 2010-09-29 04:37:52 +00:00
Andrew Gvozdev
927fba2490 bug 322725: Content type of .cproject should be XML by default 2010-08-15 17:42:25 +00:00
Andrew Gvozdev
0dd48245de bug 314253: Linker warning not recognized
Based on work from Axel Mueller
2010-05-27 01:26:17 +00:00
Chris Recoskie
7038788c04 further changes for Bug 291815 - Add an extension point to allow utilities for virtual EFS filesystems 2010-05-25 17:58:41 +00:00
Chris Recoskie
947eedd5bc - Merged changes from cdt_5_0 to HEAD. Too many to mention individually.
- Reworked IFileSystem utility so that now it is noimplement/noextend.  Clients should now extend from concrete class FileSystemUtility instead to better insulate them from future API changes.
- Reworked the resulting concurrency fixes - indexing and scanner discovery now synchronize on the project root as a scheduling rule.  Original HEAD behaviour was to synch on the project's .settings folder for indexing, but that deadlocked with scanner discovery.
- Fixed remote indexing.  Changes on HEAD that deprecated CodeReader broke the ability for remote translation units to provide the path to load the file content from.  Added API to ITranslationUnit for this purpose.
2010-05-11 22:50:20 +00:00
Andrew Gvozdev
4edfcba20a bug 307365: Problems with make error parser, incorrectly matches gcc messages 2010-03-29 16:28:27 +00:00
Andrew Gvozdev
9993dae7a5 Removed RegexErrorParser as a separate parser 2010-03-29 02:26:17 +00:00
Andrew Gvozdev
563cd26795 bug 307312: changed pattern to make error parser to avoid match with compiler warnings 2010-03-29 01:35:23 +00:00
Andrew Gvozdev
cd1a6a4ed4 bug 248669: [Error Parser] gnu c/c++ error parser treats a warning as error
Tuning up GLDErrorParser
2010-02-05 03:46:44 +00:00
Andrew Gvozdev
1c874e61a4 bug 263987, bug 193982, bug 216443, bug 248669 and more: tuning up GCC ErrorParser patterns 2010-02-04 21:50:24 +00:00
Andrew Gvozdev
1f8978eea3 bug 263987: GCCErrorParser converted to RegexErrorParser style 2010-02-04 17:52:04 +00:00
Vivian Kong
6d906f69c5 externalize strings in plugin.xml in various plugins 2010-02-01 16:23:38 +00:00
Andrew Gvozdev
0315c2f844 bug 301338: [Error Parser] Makefile error parser shows bogus external location in problems view 2010-01-30 22:07:43 +00:00
Andrew Gvozdev
d5aa27dab8 bug 296904: [Error Parser] Make error parser should report non-fatal errors as Warnings instead of Errors 2010-01-29 23:42:55 +00:00
Andrew Gvozdev
f7abbce100 bug 296904: Split MakeErrorParser to regex style GmakeErrorParser and CWDLocator 2010-01-29 06:34:42 +00:00